98 XP 2000下查找進程 vc

在WIN98中我用以下方法查找程序名相應的進程,並退出此進程,但在WIN2000/XP均沒有效果,請各位大俠,應對如下代碼做何改動,或用其它的方法,求一個WIN98/2000/XP/NT下均可通過的方法!謝謝

DWORD GetProcessIdFromName(LPCTSTR name)//查找指定進程
{
PROCESSENTRY32 pe;
DWORD id = 0;

HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pe.dwSize = sizeof(PROCESSENTRY32);
if( !Process32First(hSnapshot,&pe) )
return 0;
do
{
pe.dwSize = sizeof(PROCESSENTRY32);
if( Process32Next(hSnapshot,&pe)==FALSE )
break;
if(strstr(pe.szExeFile,name)!=NULL)
{
id = pe.th32ProcessID;
break;
}

} while(1);
CloseHandle(hSnapshot);
return id;
}
hProc=OpenProcess(PROCESS_TERMINATE,FALSE,
GetProcessIdFromName(LPCTSTR name));
TerminateProcess(hProc,0);


98和2k、XP的進程名稱不一樣的。
98:C:/Program Files/Oicq/QQ.exe
2k/XP:QQ.exe。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章