
Geschrieben von
neon
(Moderator) am 02.02.2009 um 22:45 Uhr.
Beiträge: 56 /
#1751
Kontakt:
Mailen
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
DWORD FindProcess(char *cProcessName)
{
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (!hSnap)
return 0;
PROCESSENTRY32 proc;
proc.dwSize = sizeof(PROCESSENTRY32);
if(!Process32First(hSnap, &proc))
{
CloseHandle(hSnap);
return 0;
}
if (!strcmp(proc.szExeFile, cProcessName))
return proc.th32ProcessID;
while(Process32Next(hSnap, &proc))
if (!strcmp(proc.szExeFile, cProcessName))
return proc.th32ProcessID;
return 0;
}
DWORD FindThread(DWORD th32ProcessID)
{
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, NULL);
if(!hSnap)
return 0;
THREADENTRY32 Thread32;
Thread32.dwSize = sizeof(THREADENTRY32);
if(!Thread32First(hSnap, &Thread32))
{
CloseHandle(hSnap);
return 0;
}
if(Thread32.th32OwnerProcessID == th32ProcessID)
return Thread32.th32ThreadID;
while(Thread32Next(hSnap, &Thread32))
if(Thread32.th32OwnerProcessID == th32ProcessID)
return Thread32.th32ThreadID;
return 0;
}