سلام
میخوام بعد از اینکه یه برنامه توسط دستور زیر باز شد:
System.Diagnostics.Process.Start("c:\a.exe")
و توسط کاربر close شد این دستور کار کنه:
TextBox1.Text = "aaaaaaaaaaaaaaaa"
به طور ساده وقتی که برنامه call شده بسته شد یه پیغام بیاد
ممنون
Printable View
سلام
میخوام بعد از اینکه یه برنامه توسط دستور زیر باز شد:
System.Diagnostics.Process.Start("c:\a.exe")
و توسط کاربر close شد این دستور کار کنه:
TextBox1.Text = "aaaaaaaaaaaaaaaa"
به طور ساده وقتی که برنامه call شده بسته شد یه پیغام بیاد
ممنون
چندین راه وجود دارد:
1-پیوسته در یک حلقه بی نهایت باز بودن آن را چک کنید(پول کردن) که به نظر جالب نیست.
2-راه اول را با بازه زمانی انجام دهید.
3-برنامه اصلی را با یک تایمر پول کنید.
4-یک ایونت برای آن تعریف کنید.
5-از متد wait مربوط به پروسس استفاده کنید.
راه دوم و سوم راه های ساده تری هستند. اما راه چهارم صحیح ترین راه است.
این راه دوم : شما می بایست کمی تغییر در برنامه خود بدهید و آن را این گونه بنویسید:
اما راه ساده تر یعنی راه آخر:کد:System.Threading.Thread t;
System.Diagnostics.Process p;
private void checker() {
while (!p.HasExited);
//OR
//
// while (!p.HasExited)
// System.Threading.Thread.Sleep(150);
MessageBox.Show("Umad Biroon");
}
private void button1_Click(object sender, EventArgs e)
{
p = System.Diagnostics.Process.Start("notepad");
t = new System.Threading.Thread(new System.Threading.ThreadStart(checker));
t.Start();
}
موفق باشید.کد:p = System.Diagnostics.Process.Start("notepad");
p.WaitForExit();
MessageBox.Show("Umad Biroon");