如何用程序发现哪些进程已经死掉或不响应,并杀死这些进程。 (100分)

  • 主题发起人 主题发起人 freecom
  • 开始时间 开始时间
系统管理员拥有debug权限,但缺省是关闭的,所以如果想杀掉系统进程,要先得到debug权限,然后再用TerminateProcess就行了
 
哪位知道如何取得debug权限?
 
看这段代码:
BOOL EnableDebugPrivilege()
{
HANDLE hToken;
TOKEN_PRIVILEGES tp;

if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES, &hToken))
return FALSE;

tp.PrivilegeCount = 1;
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
CloseHandle(hToken);
return( (GetLastError() == ERROR_SUCCESS) );
}
 
ok,就到这里吧
 
后退
顶部