Сбой OpenProcess (SeDebugPrivilege?)

Я пытаюсь использовать OpenProcess, по какой-то причине он продолжает сбой.

HANDLE GetProcessPid()
{
DWORD pid = 0;
wchar_t ProcessName[] = L"notepad.exe";

// Create toolhelp snapshot.
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 process;
ZeroMemory(&process, sizeof(process));
process.dwSize = sizeof(process);

// Walkthrough all processes.
if (Process32First(snapshot, &process))
{
do
{
if (wcscmp(process.szExeFile, ProcessName) == 0)
{
pid = process.th32ProcessID;
break;
}
} while (Process32Next(snapshot, &process));
}

CloseHandle(snapshot);

if (pid != 0)
{
return OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
}

return NULL;
}

Это всегда возвращает 0xcccccccccccccccc или 0x0000000000000020, даже если я установил pid вручную при вызове OpenProcess.

Я пытался работать от имени администратора вне отладки в Visual Studio и получить те же результаты, после поиска, я думаю, мне нужно включить привилегии отладки (SeDebugPrivilege), как мне это сделать в Visual Studio 2013?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]