0

我想实现一个shell上下文菜单“向左/向右打开”,用户可以打开一个文件,新窗口被重新定位以占据屏幕的左/右半部分。基本上我只是调用Process.Start(fileName),并获取进程MainWindowHandle,然后将句柄传递SetWindowPos给设置窗口的位置。

但是某些应用程序(如 Word)作为单例实例运行,因此Process.Start("new.docx")只需将文件名传递给正在运行的实例,然后返回null,因此我无法获取窗口句柄来进行重新定位。

有解决方法吗?

Any approach (preferred written in C#) is welcome.

PS。我知道我可以只使用EnumWindows列出所有顶级窗口并让用户选择他喜欢重新定位的窗口。但那是另一种使用场景。我想在 shell 上下文菜单中实现该功能。

4

0 回答 0