|
Borland C ++ Builder FAQ
|
||
| The content | The last update: 12/12/2008 | |
|
How by name an exe-file to learn pid process if it is launched? The author: OlegGG bool GetProcessByExeName (DWORD* Pid, AnsiString ExeName)
{
HANDLE hProcessSnap = NULL;
PROCESSENTRY32 pe32 = {0};
AnsiString temp = "";
hProcessSnap = CreateToolhelp32Snapshot (TH32CS_SNAPALL, NULL);
if (hProcessSnap == (void *)-1)
{
MessageBox (NULL, "oblom", "oblom", MB_OK|MB_ICONWARNING|MB_SYSTEMMODAL);
return false;
}
pe32.dwSize=sizeof (PROCESSENTRY32);
if (Process32First (hProcessSnap,&pe32)) temp=pe32.szExeFile;
if ((temp. UpperCase ()).Pos (ExeName))
{
*Pid = pe32.th32ProcessID;
CloseHandle (hProcessSnap);
return true;
}
pe32.dwSize=sizeof (PROCESSENTRY32);
while (Process32Next (hProcessSnap,&pe32))
{
temp=pe32.szExeFile;
if ((temp. UpperCase ()).Pos (ExeName))
{
*Pid = pe32.th32ProcessID;
CloseHandle (hProcessSnap);
return true;
}
pe32.dwSize=sizeof (PROCESSENTRY32);
}
CloseHandle (hProcessSnap);
*Pid=0;
return false;
}
|