【发布时间】:2014-06-07 05:57:50
【问题描述】:
背景:
在我的 VSPackage 中,我有 process.Attach() 指令。我还将 UAC(用户帐户控制设置)设置为默认级别:
用例:
-
当我以管理员权限运行示例应用程序时:
然后使用 Visual Studio 中的 VSPackage 在较低的当前用户权限(非管理员)下运行附加到此类进程,我得到以下
COMException:我认为这是正确的,表明我无权执行此类附加操作。
-
当我以当前用户身份运行示例应用程序时:
然后附加到它 - 一切都按预期工作(已附加调试器)。然后,如果在 Visual Studio 的第二个实例中(也在同一个当前非管理员用户下启动)我再次尝试附加到同一个进程,我会关注
COMException:HRESULT 和之前一样……
问题:
如您所见,这两个不同操作的 HRESULT 相同。为什么?如何区分在第二种情况下我试图附加到调试器已经附加到的进程(这与第一种情况不同 - 附加到我们根本没有权限的进程)?
【问题讨论】:
标签: visual-studio com envdte vsix vspackage