PDA

View Full Version : حرفه ای: کار با process



morteza_carefree
یک شنبه 25 تیر 1391, 11:26 صبح
سلام دوستان عزیر

من میخوام برنامه ای بنویسم که درست هنگامی که ویروس کش غیر فعال شد یه برنامه ای باز بشه

اگه نوع ویروس کش هم مهم باشه kspersky 2011 هست
میشه کمکم کمید

fjm11100
یک شنبه 25 تیر 1391, 12:10 عصر
اگر غیر فعال شدن به معنای بسته شدن اون پروسس باشه میتونی با کمک WMI برای ایجاد یا بسته شدن یک پروسس Event داشته باشی.
کد زیر را برای گرفتن رخداد ایجاد یک پروسس جدید داشتم برات میزارم. برای بسته شدن فقط کوئری WQL فرق داره

EventQuery query = new EventQuery();
query.QueryString = "SELECT * FROM" +
" __InstanceCreationEvent WITHIN 1 " +
"WHERE TargetInstance isa \"Win32_Process\"";
ManagementEventWatcher m = new ManagementEventWatcher(query);
m.Options.Timeout = new TimeSpan(0, 0, 50);
List<string> properties = new List<string>();
ManagementBaseObject ev = m.WaitForNextEvent();
MessageBox.Show(((ManagementBaseObject)ev["TargetInstance"])["Name"].ToString());
m.Stop();

morteza_carefree
سه شنبه 27 تیر 1391, 14:35 عصر
میدونی مشکل من چیه آنتی ویروس اجازه بستن برنامه رو نمیده

مثلا وقتی من با taskmanger میخوام ببندم این خطا رو میده میخوام با برنامه ببندم و خطا نده

fjm11100
سه شنبه 27 تیر 1391, 17:38 عصر
خب این یک موضوع دیگه است. بیشتر آنتی ویروسها سرویس هستند می تونی با دستور Net Stop و اجرای اون از Process.start ببندیشون. البته مستقیم هم کدش هست که توی همین چندتا پست اخیر در مورد بستن فایروال ویندوز خدمت یکی از دوستان لینکش را دادم.

morteza_carefree
شنبه 31 تیر 1391, 15:47 عصر
دوست عزیز میشه لینک بدی ؟

fjm11100
شنبه 31 تیر 1391, 18:41 عصر
اینو ببین
http://www.codeproject.com/Articles/31688/Using-the-ServiceController-in-C-to-stop-and-start