如果我以管理员身份运行Notepad ++,则无法将文件从资源管理器拖到该文件上(它们会被“停止”光标拒绝),并且如果我尝试使用资源管理器扩展名,请右键单击“用记事本++编辑”,这将引发错误。
使用记事本++“打开”对话框打开文件,或者甚至在资源管理器中双击它们都可以正常工作。(请注意,双击不是一种解决方案,因为我要打开的文件很少是默认的Notepad ++)
我已将UAC设置为“从不通知”。
使用禁用了UAC“管理员批准模式”的黑客程序可以解决此问题,但会终止使用Metro应用程序的功能。
完整性较低的进程无法将消息传递给较高级别的进程。
从Windows Vista开始,您会发现所有提升过程都是这种情况。
进程在某些安全性访问令牌和完整性级别下运行。资源管理器以中等完整性级别在用户帐户的受限令牌下运行,当您通过以管理员身份运行来提升流程时,它将使用具有较高完整性级别的其他不受限制的安全令牌。
Vista随附的安全性改革的一部分是用户界面特权隔离,它可以防止较低级别的进程将消息发送到较高级别的进程(因为消息可能是恶意的,例如在粉碎攻击中)。
因此,在这种情况下,Windows将不允许资源管理器将拖放消息发送到Notepad ++(它实际上会返回“成功”,但会丢弃该消息)。
有关访问令牌,完整性级别和UIPI的更多详细信息,请参阅Windows完整性机制设计。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句