4

我可能是这方面的 SOL,但我想我会放弃它以寻求可能的解决方案。

我正在编写一个计算机访问控制服务来帮助我控制我孩子的计算机使用。当我让它工作时,计划开源它。它是用 VB.Net 编写的,需要在 XP 到 7 上运行。

我在 Windows 7 上遇到了各种安全和桌面访问问题。该服务需要以管理员身份运行才能执行 NetSh 命令以禁用网络。但是我无法从服务与桌面交互,因此我通过 IPC 到 UI 来处理其他内容,但是如果桌面被锁定,我仍然无法从服务中检测到。啊!

如果我可以只舔一个需要管理员权限的部分:禁用网络,我可以从一个隐藏的 Windows 窗体应用程序中完成所有工作。

如果一个孩子登录并拒绝弹出询问程序是否应该以管理员身份运行的弹出窗口并且他说不,那就不好了。此外,Windows 7 也不会启动设置为以管理员身份运行的程序
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

任何人都知道如何让这个工作?或者有一个开箱即用的解决方案?

4

1 回答 1

2

我希望我能提供一些参考,但我现在在我的 google-fu 上失败了......但我很确定 UAC 不适用于服务。如果您将程序实现为 Windows 服务应用程序而不是(隐藏的)Windows 窗体应用程序,并将其设置为为您孩子的用户帐户而不是您自己的用户帐户运行,那应该可以。

更新

在google上找到了这个,根本没玩过。虽然看起来不错......基本上, CreateProcessAsUser 从以管理员身份运行的服务应用程序运行表单应用程序。

于 2010-04-03T00:25:30.100 回答