PDA

View Full Version : برنامه ای برای چک کردن اجرا بودن یک پروسه در تسک منیجر ویندوز



cpt.price
جمعه 01 آذر 1392, 16:58 عصر
سلام
دوستان از اونجایی که سی ++ رو دارم روش کار میکنم برای یاد گیری،یک برنامه ساده میخوام که یک مقدار ورودی به نام پروسه رو بگیره (حالا در قالب فایل .ini هم شد و محیط گرافیکی هم نداشته باشه بهتر)، یک مقدار چک اینتروال تایمینگ رو بتونه کاربر بهش بده و یک مسیر فایل اجرایی رو کاربر به برنامه معرفی کند
حالا برنامه طی یک زمان که مشخص شده براش چک کنه اگر پروسه 1.exe ران هست که هیچ اگر نیست 1.exe رو از path فایلی که کاربر بهش داده اجرا کنه.
اگر امکان داشته باشه برای هر خط کدینگ توضیح مختصری بدید که جنبه آموزشی این قضیه بالا بره سپاس گزار خواهیم بود.
ارادتمند

fahimeh1512
چهارشنبه 06 آذر 1392, 11:56 صبح
سلام
میتونی برای این که ببینی اون برنامه تو سیستمت باز هست یا نه
از سیستم یه اسنپ شات بگیری با این تابع createtoolhelp32snapshot
به این شکل

HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (Process32First(snapshot, &entry) == TRUE) {
do {
if (wcscmp(entry.szExeFile, L"1.exe") == 0) {
hProc= OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);
if (!hProc) {
printf("\nerror in open process");
return;
}
else {
printf("\nprocess opened");
break;
}
}
} while (Process32Next(snapshot, &entry));
}





تو اون حلقه دو وایل بررسی میکنی که برنامه مورد نظرت تو سیستم داره اجرا میشه یانه