Jlamepok |
Отправлено: 24.05.2004, 18:51 |
|
Не зарегистрирован
|
Во какой вопрос... есть прлцесс.. звать этого монстра — "Client", как мне под 98 проверить на присудствие в системе... спасибки |
|
AVC |
Отправлено: 25.05.2004, 08:11 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
На входе спецификация exe файла процесса, на выходе -1 — ошибка, 0 — не активке, 1 — активен.
CODE |
#include "tlhelp32.hpp"
PACKAGE int __fastcall AppIsActiv (const AnsiString &pAppName)
{
if (pAppName.IsEmpty()) return -1;
AnsiString aname, fname, sname;
TProcessEntry32 prj;
prj.dwSize = sizeof(PROCESSENTRY32);
HANDLE hss = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
if (((int)(hss)) == (-1)) return -1;
aname = (ExtractFileName(pAppName) + ExtractFileExt(pAppName)).UpperCase();;
int ret = 0;
try {
for (bool loop = Process32First(hss, &prj); loop; loop = Process32Next(hss, &prj))
{ fname = AnsiString(prj.szExeFile).Trim().UpperCase();
if (fname.IsEmpty()) continue;
sname = (ExtractFileName(fname) + ExtractFileExt(fname)).UpperCase();
if (aname == sname) { ret = 1; break; }
}
} // try
catch (...) { ret = -1; }
CloseHandle(hss);
return ret;
}
|
|
|
|