Я пытаюсь вернуть идентификатор процесса, и у меня есть этот код. Что я делаю неправильно?Return 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 должен идти вперед и объявлять большинство строк wchar, если он собирается иметь дело с winapi на некоторое время. – Adam