我正在嘗試返回進程ID,並且我有此代碼。我做錯了什麼?按名稱返回PID
代碼是:
DWORD GetProcId(char* ProcName)//Get ProcessId By Name
{
PROCESSENTRY32 pe32;
HANDLE hSnapshot = NULL;
pe32.dwSize = sizeof(PROCESSENTRY32);
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(Process32First(hSnapshot, &pe32))
{
do{
if(strcmp(pe32.szExeFile, ProcName) == 0)
{
return pe32.th32ProcessID;
}
}while(Process32Next(hSnapshot, &pe32));
}
if(hSnapshot != INVALID_HANDLE_VALUE)
CloseHandle(hSnapshot);
return 0;
}
,誤差'strcmp' : cannot convert parameter 1 from 'WCHAR [260]' to 'const char *'
我怎麼能解決這個問題,我嘗試一些不同的轉換,但不能這樣做。
+1對於將ProcName轉換爲wchar *,OP應該繼續,如果他將要處理winapi一段時間,則聲明大多數字符串wchar。 – Adam