0

我有一个运行 NSIS 文件并执行它们的 .NET 应用程序,在 Windows XP 上我遇到了一个问题,即这个窗口,每次运行文件时都会出现

使用 Windows 7 更容易,因为如果 .NET 进程以管理员身份运行,则该窗口不会显示,但在 XP 中令人头疼,我只需要解决其中一个问题,如果我可以阻止此窗口从一直显示?或者我可以从 NSIS exe 文件中读取它的输出,这样 .NET 就会发现存在问题。

我试过点击取消,它使.NET抛出异常,这很好,我可以处理,但不删除“保护我的电脑......”上的标记会导致大问题。

这是图片链接: https ://docs.google.com/open?id=0B5MtsIuVfrsYT2F1OGZUdHdMSDg

在此处输入图像描述

4

1 回答 1

0

问题出在 runas 动词上,我们可以删除它,如果它不是以管理员身份运行,我们应该结束程序,我们可以使用此功能测试应用程序是否以管理员权限运行

[DllImport("shell32.dll", SetLastError = True)]
return: MarshalAs(UnmanagedType.Bool)
static extern bool IsUserAnAdmin(void);

http://www.pinvoke.net/default.aspx/shell32.IsUserAnAdmin

问候,

于 2012-10-08T10:21:42.060 回答