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