PDA

View Full Version : فهمیدن بسته شدن صفحه داس



unrealword
پنج شنبه 30 مرداد 1393, 20:38 عصر
ضمن سلام و خسته نباشید خدمت اساتید
من یه مشکلی دارم
من با cmd فایل رو rar می کنم می خام بدونم کی cmd بسته می شه
با تشکر

Saman_12
پنج شنبه 30 مرداد 1393, 22:09 عصر
اگه با process اجراش میکنید که یه متد داره waiton که با استفاده ازش ترد اجرا کننده تا خروج از پروسس صبر میکنه.(تا اونجایی که یادم winrar یه console app واسه این کار داشت=همون cmd!!)
اگه هم با shell اجرا میکنی (یادم نیست vb.net داره اینو یا نه!)هنگام صدا کردن, تابع shell مقدار pid رو بهت میده که میتونی تو یه تایمر چک کنی اون pid هنوز بازه یا نه.

در هر دوصورت باید بری سراغ کلاس process یا از API های پروسس استفاده کنی.

unrealword
پنج شنبه 30 مرداد 1393, 22:19 عصر
می تونی بیشتر توضیح بدید
با تشکر

Saman_12
جمعه 31 مرداد 1393, 11:50 صبح
این یه مثال :

public void WaitUntilExitProcess(Process p)
{

if (!(Thread.CurrentThread.Name == p.ProcessName)) {
Thread t = new Thread(WaitUntilExitProcess);

t.Name = p.ProcessName;
t.IsBackground = true;
t.Start(p);

} else {
p.WaitForExit();
DoWhenExit(p);
}
}


private void DoWhenExit(Process p)
{
Console.WriteLine("Process was closed : " + p.ProcessName);
}