当用户尝试运行我的应用程序(C#.NET 4,在 Win XP 上)时,我需要弹出“运行方式”表单,以便他可以轻松地以其他用户身份登录。它可能在应用程序本身(在 C# 代码中)或其他一些前面的批处理/exe 文件(“启动器”)等中。我没有找到任何方法来弹出这个表格。怎么可能做到?
谢谢。
当用户尝试运行我的应用程序(C#.NET 4,在 Win XP 上)时,我需要弹出“运行方式”表单,以便他可以轻松地以其他用户身份登录。它可能在应用程序本身(在 C# 代码中)或其他一些前面的批处理/exe 文件(“启动器”)等中。我没有找到任何方法来弹出这个表格。怎么可能做到?
谢谢。
在<requestedExecutionLevel level="requireAdministrator"/>
您的清单中,您可以强制您的应用程序以管理员身份运行。但是,这不包括 RunAs 对话框。如果您从快捷方式查看设置,您会发现那里也没有选项可以处理此问题。
当当前用户具有管理权限时,所描述的设置将简单地要求用户以管理员身份运行它。但是,当当前用户没有此权限时,它会要求用户输入管理帐户的详细信息,我认为这与您要查找的内容很接近。
如果你想这样做,最好的选择是创建一个调用CredUIPromptForWindowsCredentials的引导进程。这将创建一个对话框,提示用户输入凭据。一旦您获得了他们的凭据,然后使用其中的重载来Process.Start
接收 CredUIPromptForWindowsCredentials 返回的用户名和密码。需要一点互操作。