Аргумент типа "WCHAR*" несовместим с параметром типа "const char*"
Всем привет.
Сталкиваюсь с такой ошибкой:
аргумент типа "WCHAR *" несовместим с параметром типа "const char *" Программа используется для проверки процессов и нахождения нужного (в моём случае notepad.exe) в реальном времени с обновлением каждую 1 секунду
char TargetProc[] = "notepad.exe";
bool ProcRabotaet = 0;
int ProcID;
//----------------------------------------------------------
HANDLE HandleProcessa() {
HANDLE hProcessSnap;
PROCESSENTRY32 pe32{};
//Это мы находим дескриптор снимка процессов
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
return false;
pe32.dwSize = sizeof(PROCESSENTRY32);
int i = 0;
while (Process32Next(hProcessSnap, &pe32)) {
if (0 == strcmp(pe32.szExeFile, TargetProc))
{
ProcRabotaet = true;
ProcID = pe32.th32ProcessID;
return(0);
}
else ProcRabotaet = false;
}
CloseHandle(hProcessSnap);
}
Ответы (1 шт):
Автор решения: Boost3d
→ Ссылка
Написал решение получше и проще, может кому пригодится:
bool IsProcessRun(const char* const ProcessName)
{
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32);
Process32First(hSnapshot, &pe);
while (1) {
if (wcscmp(pe.szExeFile, L"notepad.exe") == 0) return true;
if (!Process32Next(hSnapshot, &pe)) return false;
}
}
Использование такое:
if (IsProcessRun("notepad.exe"))
{
cout << "True\n";
}
else
cout << "False\n";