Код C ++ _wcsicmp не компилируется при сравнении ProcessEntry32.szExeFile с данными, введенными пользователем - PullRequest
0 голосов
/ 03 мая 2018

Итак, у меня есть этот код:

using namespace std;
void targetProcessFinder(wchar_t targetProcess)
{

PROCESSENTRY32 entry;
entry.dwSize = sizeof(PROCESSENTRY32);

HANDLE processSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

if(Process32First(processSnapshot, &entry) == TRUE)
    {
        while(Process32Next(processSnapshot, &entry) == TRUE)
            {
                if (_wcsicmp(entry.szExeFile, targetProcess) == 0)
                {
                    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);
                    int processID = entry.th32ProcessID;

                    CloseHandle(hProcess);
                }
            }
    }
}

int main()
{
    wchar_t targetProcess
    cin >> targetProcess;
    targetProcessFinder(targetProcess);
}

По какой-то причине я получаю сообщение об ошибке в строке if (_wcsicmp ...) и совершенно теряюсь в связи с тем, почему, я пытался изменить типы данных, чтобы убедиться, что это проблема, но, похоже, ничего не происходит исправить это.

Любой совет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...