2012-03-06 82 views
1

我有2个进程。其中一个在管理员帐户下运行,第二个 - 在没有管理进程权限的用户帐户下运行。他们需要看到对方并比较从哪里执行的流程。但是第一个(用户)进程无法获得第二个进程的路径。使用CreateToolhelp32Snapshot - >OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION) - >QueryFullProcessImageName获取路径不适用,因为它适用于Vista,Win7和更高版本,我需要针对较低版本Win的解决方案。使用访问令牌共享进程管理权限

那么,如何为用户进程授予权限以查看管理进程的路径,或者如何使用访问令牌或使用SetNamedSecurityInfo来共享管理进程的权限?

使用delphi可取。

+0

你有权力改变管理流程的工作方式吗? – 2012-03-06 16:11:32

回答

1

你可以改变这个,是的(*) - 但你真的应该重新考虑你的逻辑。例如,管理进程可以打开预定义名称的共享MMF并存储您需要的任何信息。您可以将此MMF分享给您想要的任何用户或组(您应该考虑只提供只读访问)。这比开放整个流程更安全。 (*)在管理进程中:OpenProcess,获取令牌和安全描述符,修改DACL以包含所需用户帐户或组的新权限,设置令牌/ SD回。