Содержание | Последнее обновление: 14.02.2004 |
Почему, когда я использую функцию KillProcByPid из вопроса "Как "убить" процесс, зная его pid?", некотрые процессы не "помирают"? Автор: OlegGG Всё решается выполнением этой функции перед вызовом KillProcByPid: bool SetDebugStatusForCurentProc() { HANDLE hToken; LUID DebugValue; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken)) { return false; } if (!LookupPrivilegeValue((LPSTR) NULL,SE_DEBUG_NAME,&DebugValue)) { return false; } tkp.PrivilegeCount = 1; tkp.Privileges[0].Luid = DebugValue; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,FALSE,&tkp,sizeof(TOKEN_PRIVILEGES),(PTOKEN_PRIVILEGES) NULL,(PDWORD) NULL); if (GetLastError() != ERROR_SUCCESS) { return false; } return true; }PS перед тем как убивать винлогон сохраните ваши файлы PPS если убить винлогон, будет ребут :D PPPS за последствия я ответственности не несу!!!!!!!! :P |