2012-08-09 91 views
1

有没有办法在单词内部捕获Windows消息(我尝试覆盖WinProc ...不行)?我有一个词,我试图与外部沟通的VSTO插件...理想情况下,我想从一个应用程序发布消息,用word捕获该消息,然后执行相应的响应...在VSTO插件中捕获Windows消息

+3

对不起,没有真正意识到这件事情是如何工作的。我会看看我的过去的问题/消息,看看我能做什么 – devHead 2012-08-09 20:54:14

回答

1

避免在Word中(这是一个烂摊子,当谈到与UAC权限),我想出了自己的解决方案的进程间通信:

我设置了一个钩我的我的话VSTO插件的实例中有SetWinEventHook( )(挂钩SYS_ALERT)...我只是监视创建的新窗口(OB_CREATE),如果它是使用解释的摄像头的应用程序,那么我关闭DS中正在运行的图形,释放摄像头并允许它在具有焦点的应用程序中使用。我的每个使用相机的程序都会实现这个类的钩子。

更好的主意欢迎...

2

由于此功能没有被interop程序集公开,我不会建议这种方法。您只应尝试通过这些API与办公应用程序进行交互。

如果你只是需要进程间通信,并且你可以控制发送者和接收者,我会建议使用套接字连接或管道。 Word将会处理它自己的Windows消息,并且干涉这个过程并不是一个好主意。

+0

尽管有命名管道,但它比在WinForms中重写WinProc的简单方法更复杂....命名管道可能是一团糟并导致更多的问题,比它的价值.... – devHead 2012-08-09 20:55:44

+0

该场景是我有4个应用程序使用网络摄像头...此设备大声1 directshow实例。所以,如果客户同时使用2,我需要一种方式与具有正在运行的图形的应用程序进行通信,请告诉它关闭相机的句柄并允许它在另一个应用程序中启动 – devHead 2012-08-09 20:57:59