您的位置:首页 > 其它

直接用编译器按ctrl+F5运行和双击运行结果不一样

2013-08-05 16:33 218 查看
是因为进程权限的问题,需要添加下面的代码:

BOOL EnableDebugPrivilege()

{

HANDLE hToken;

BOOL fOk=FALSE;

if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken))

{

TOKEN_PRIVILEGES tp;

tp.PrivilegeCount=1;

if(!LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid))

TRACE("Can't lookup privilege value.\n");

tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;

if(!AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL))

TRACE("Can't adjust privilege value.\n");

fOk=(GetLastError()==ERROR_SUCCESS);

CloseHandle(hToken);

}

return fOk;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: