我使用以下代码创建具有其他用户安全权限的进程:
CreateProcessWithLogonW(
Username,
Domain ? Domain : L".",
Password,
LOGON_WITH_PROFILE,
ApplicationName,
CommandLine,
CREATE_SUSPENDED | CREATE_UNICODE_ENVIRONMENT,
Environment,
CurrentDirectory,
&StartupInfo,
ProcessInfo);
但是这个过程可以使用TerminateProcess函数来终止调用进程。我已经读过我必须从此过程中删除PROCESS_TERMINATE访问权限,但我无法找到有关如何执行此操作的信息。
答案 0 :(得分:2)
在PROCESS_INFORMATION
结构中返回生成的进程句柄。将其传递给GetSecurityInfo()
以检索进程的SACL / DACL,构建一个拒绝PROCESS_TERMINATE
的新进程,然后调用SetSecurityInfo()
来应用它。