提供了要打开的文件路径,如何获取新窗口的句柄?

时间:2013-01-28 06:19:46

标签: c# winapi windows-shell

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

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

有解决方法吗?

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

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

0 个答案:

没有答案