2

我阅读了如何使用服务来做到这一点,但我想知道它是否可以通过一个简单的应用程序来实现。我正在使用 c#。

谢谢

4

4 回答 4

3

你不能。在未经用户同意的情况下运行提升的唯一其他方式是作为计划任务。

于 2010-07-24T03:15:15.310 回答
1

Windows 不会在启动时运行提升的应用程序,因为它不想提示您启动一百万个应用程序。从技术上讲,您可以通过编写一个简单的启动器来解决这个问题,ShellExecute 是您的真实应用程序,但这会在启动时提示您并且非常烦人。正如其他人所说,最好的方法是将您需要管理权限的任务转移到服务中,并将用户界面的东西分开。

于 2010-07-24T05:10:32.067 回答
1

我鼓励您阅读UAC 团队博客上的一篇文章,了解为什么阻止启动应用程序要求提升。需要考虑的一件事:要求提升完全阻止标准用户使用您的应用程序。

官方指导:你的启动程序不应该需要提升。老实说,我很难想象在一个启动应用程序中你可以合法地要求提升的场景。你能提供更多关于为什么需要提升的细节吗?

于 2010-07-24T05:42:41.697 回答
0

这是不可能的。您可能拥有的最接近的体验是创建一个运行提升的服务和一个无需提升运行且只是服务前端的 winforms 应用程序。但是你必须小心,如果你没有正确关闭墙壁,你可能会引起安全问题。

于 2010-07-24T03:20:17.630 回答