我需要一个C语言源代码

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:32:24
主要是想让系统查找某一程序进程被关闭则运行关机命令!

/**-----------------------------------------------------------------------------
* 设置当前程序的权限
*------------------------------------------------------------------------------
*/
VOID SetPriority( LPCTSTR szPrivilegeName, BOOL bSign )
{
DWORD dwCurProcId = GetCurrentProcessId(); //获取当前进程的标识符

HANDLE hCurProc = OpenProcess( PROCESS_ALL_ACCESS, FALSE, dwCurProcId ); //即获取所有可能的权限,不可继承,刚才获得的标识符

HANDLE hToken; //令牌
OpenProcessToken( hCurProc, TOKEN_ADJUST_PRIVILEGES, &hToken );
CloseHandle(hCurProc);

LUID luNum;
LookupPrivilegeValue( NULL, szPrivilegeName, &luNum ); //获取局部唯一标识符LUID-->权限

TOKEN_PRIVILEGES tpStruct; //包含访问令牌的信息
tpStruct.PrivilegeCount = 1;
memcpy( &tpStruct.Privileges[0].Luid, &luNum, sizeof(luNum) );
tpStruct.Privileges[0].Attributes = bSign ? SE_PRIVILEGE_ENABLED : 0;

AdjustTokenPrivileges( hToken, FALSE, &tpStruct, 0, NULL, NULL );
CloseH