没有重新启动应用程序的高程?

时间:2009-07-14 12:20:50

标签: c# .net vb.net uac

有没有人设法通过UAC获得管理权限而无需重新启动应用程序或嵌入清单文件?

我想写一些只有管理员可以修改的文件,而不依赖于另一个提升的应用程序。是否可以模拟之前使用某些本机API调用UAC提示符的管理员?

我想这是不可能的,我将不得不使用具有提升权限的外部工具,但我要求以防万一。

编辑:我知道还有其他一些类似的问题,但由于它们没有涉及模仿的主题(就像我见过的那样),也没有一些可能的本地调用UAC提示我决定给出一个新的一个去... ...

5 个答案:

答案 0 :(得分:1)

正如另一个问题所述,你不可能,你可以获得COM对象或其他进程,但不能当前进程。

Request Windows Vista UAC elevation if path is protected?

答案 1 :(得分:0)

我读了那个帖子(还有更多的嘿),但你永远不知道其他人最近做了什么。也许SP2的发布改变了一些东西,不知道。

答案 2 :(得分:0)

嗯,我猜UAC的工作方式和解决方法没有任何变化,所以我会将之前的答案标记为正确答案。

我将创建另一个执行我需要的管理任务的应用程序。

谢谢。

答案 3 :(得分:0)

如果您只想做它,就会获得没有清单的管理员权限(即:我假设你不是在谈论破解/黑客攻击UAC实现),然后只需选中“运行方式管理员”复选框创建一个快捷方式。您可以以编程方式生成此快捷方式,只要您查找快捷方式的写入方式(就其内容而言)并且我确定您需要在快捷方式中包含一些名称/值对以确保运行方式默认情况下会选中管理员。现在,当人们运行该快捷方式而不是你的exe时,会提示他们以提升模式运行你的exe(具有管理员权限),这样你就不需要重启或使用清单了。

如果我误解了你的问题,请原谅。

答案 4 :(得分:-1)

在可执行文件所在的目录中添加清单文件“适合我”。实际上并未获得权限,但会提示您获得权限。