我一直在尝试使用IVirtualDesktopManager::MoveWindowToDesktop在虚拟桌面之间移动窗口。
在我自己的窗口上使用它效果很好,但不幸的是,当我尝试在另一个进程的窗口上使用它时,它会因 E_ACCESSDENIED 而失败。
可悲的是,“以管理员身份启动”还不够好。我是否遗漏了一些我不知道的关于 COM 接口的东西,或者它只是设计不当?
我一直在尝试使用IVirtualDesktopManager::MoveWindowToDesktop在虚拟桌面之间移动窗口。
在我自己的窗口上使用它效果很好,但不幸的是,当我尝试在另一个进程的窗口上使用它时,它会因 E_ACCESSDENIED 而失败。
可悲的是,“以管理员身份启动”还不够好。我是否遗漏了一些我不知道的关于 COM 接口的东西,或者它只是设计不当?
您可以移动不属于执行进程的窗口,但它需要使用其他未记录的 COM 对象。
代码参考: