我正在用C++创建一个任务管理器类型的应用程序,我目前正在使用:`voidMyFrame::ProcChecker(boolshowmessage=false){HANDLEhSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);PROCESSENTRY32*processInfo=newPROCESSENTRY32;processInfo->dwSize=sizeof(PROCESSENTRY32);intindex=0;stringprocList="";while(Process32Next(hSnapShot,proce
这个问题是thisquestion的跟进和延续。关于我目前正在处理的权限问题。问题总结:我在没有调试程序(SeDebugPrivilege)权限的域管理员帐户下运行程序,但我需要在本地计算机上使用它。Klugey解决方案:该程序可以将自身作为服务安装在本地机器上,并启动该服务。所述服务现在在SYSTEM帐户下运行,这使我们能够使用我们的SeTCBPrivilege权限创建一个新的具有SeDebugPrivilege的访问token。然后我们可以使用新创建的token重新启动具有提升权限的初始程序。我个人不喜欢这个解决方案。我觉得应该有可能以管理员身份获得必要的权限,不必进行系统修改,例
我有进程ID,我想获取它的进程句柄。是否有任何可用的API。我尝试使用OpenProcess,但它返回NULL,并且GetLastError=0。这是我在Vista上尝试的。我想我需要在使用OpenProcess之前启用SeDebugPrivilege。但是为了启用SeDebugPrivilege,我需要获取它的进程句柄。 最佳答案 OpenProcess(PROCESS_ALL_ACCESS,TRUE,procId);您需要验证您使用的是有效的进程ID,并且您已获得从该进程请求的访问权限。
我有进程ID,我想获取它的进程句柄。是否有任何可用的API。我尝试使用OpenProcess,但它返回NULL,并且GetLastError=0。这是我在Vista上尝试的。我想我需要在使用OpenProcess之前启用SeDebugPrivilege。但是为了启用SeDebugPrivilege,我需要获取它的进程句柄。 最佳答案 OpenProcess(PROCESS_ALL_ACCESS,TRUE,procId);您需要验证您使用的是有效的进程ID,并且您已获得从该进程请求的访问权限。