每当我在“以管理员身份运行”下运行应用程序(Visual Studio 2008、记事本等)时,我无法将文件从 Windows 资源管理器拖放到该应用程序中。
我尝试以管理员身份运行 Windows 资源管理器,但无济于事。
当我的应用程序处于“以管理员身份运行”状态时,有没有办法使拖放功能正常工作?
答案1
问题与安全权限的工作方式有关。从普通应用程序拖放到提升的应用程序的能力会破坏 UAC 背后的安全模型。但是,我不清楚为什么不显示 UAC 提示,从而允许临时提升操作(就像任何 Linux 用户每天所经历的那样)。这绝对是 Microsoft 需要努力解决的问题。让我感到困扰的是,这个问题已经存在很久了。Vista 的行为也一样。
你可以做两件事(一件很丑陋,一件很烦人)
- 丑陋的:禁用 UAC。但您会失去它提供的所有额外安全性。
- 恼人的:使用另一个文件管理器并以管理员身份运行它
为什么要使用另一个文件管理器?因为你实际上无法提升 Windows 资源管理器的权限。尽管在 Windows 资源管理器图标的上下文菜单中可以看到该选项,并且会显示 UAC 提示,但事实上 Windows 资源管理器不会提升权限。
答案2
这是根据 ADwarf“烦人”解决方案提出的一种解决方法:使用“以管理员身份运行”打开记事本。单击文件菜单中的打开,在文件名中输入 *,然后按回车键。现在您可以将文件从那里拖到您的应用程序中。记事本打开浏览器不支持多文件选择,但您可以以相同的方式使用其他程序进行拖放!
答案3
Windows 7的:
使用“以管理员身份运行”启动 PowerShell
类型:
taskkill /f /im explorer.exe
start-process explorer.exe
或使用以管理员身份运行启动 cmd(命令提示符)
类型:
taskkill /f /im explorer.exe
start explorer.exe
现在,您所有的新 Explorer 窗口都将被提升,您可以将它们拖放到其他提升的应用程序中。我在发布之前对此进行了测试和验证。
答案4
两年前发布的 Visual Studio 2005 更新修复了许多 UAC 问题在 Vista 上,相同的更新也修复了 Windows 7 上的相同问题。
这不是一个关键更新,因此不会自动获取,并且不是包含在 VS2005 SP1 中。他们现在没有积极宣传此更新,因为他们只是想让每个人都转到 VS2008。所以你很可能没有它。
解释 http://msdn.microsoft.com/en-us/vstudio/aa948853.aspx?lcid=1033
当在正常用户模式下运行 Visual Studio 并启用 UAC 时,此更新修复了以下问题:
- 从资源管理器窗口拖放文件
- 通过启动解决方案/项目或相关文件类型的快捷方式来启动 VS(以普通用户身份)
- DLL/EXE 注册仍然失败(这是正确的,因为这些是系统级更改。)
如果您以管理员身份运行 VS,则窗口仍然锁定为拖放和快捷方式,并且 DLL/EXE 注册可以正常工作,而无需完全关闭 UAC。
注意:启动时 VS 仍会警告您有关管理员模式,但现在您可能可以永久忽略该警告。