我有一个控制台应用程序需要使用一些需要管理员级别的代码。我读到我需要添加一个 list 文件 myprogram.exe.manifest ,它看起来像这样:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator">
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
但它仍然没有提高 UAC(在控制台中或在 VS 中调试)。我该如何解决这个问题?
更新
如果我在 Administrator 中运行解决方案或在 Administrator 中运行/bin/*.exe,我就能让它工作。我仍然想知道是否有可能在应用程序启动时弹出一些东西,而不是明确地右键单击>以管理员身份运行?
最佳答案
对于任何使用 Visual Studio 的人来说,这都非常简单。我正要设置 Windows SDK 并执行 mt.exe 构建后步骤以及所有这些,然后才意识到它已内置到 VS 中。我想我会把它记录下来以供后代使用。
- 项目 |添加新项 -> Visual C# 项 -> 应用程序 list 文件
- 打开 app.manifest,将 requestedExecutionLevel.@level 更改为“requireAdministrator”
- build
塔达
关于c# - UAC 需要控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/227187/