繁体   English   中英

在C#接口应用程序之间进行通信并注入到另一个进程dll

[英]Communicate between c# interface application and injected to another process dll

我的应用程序将dll(使用c ++编写)注入另一个进程,并将一些信息发送到接口表单。 界面是使用MFC制作的。 注入的代码通过发送消息WM_COPYDATA与接口进行通信,如下所示:

 ::SendMessage(hWnd, WM_COPYDATA, 0, (LPARAM) &cd); 

界面形式具有接收消息的方法: BOOL CInterfaceDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)

我将使用WPF制作界面表格。 我如何在WPF接口之间进行通信并注入到另一个进程dll? 应该从dll发送到接口的一些信息,我将存储在xml文件中。 但是我应该如何发信号通知接口以从xml接收信息?

WPF处理消息,并且处理方式与您习惯的有所不同。 阅读本文以了解可能的和不可能的。

本文的重要部分:

屏幕上的所有WPF元素最终都由HWND支持。 当您创建WPF窗口时,WPF会创建顶级HWND,并使用HwndSource将窗口及其WPF内容放入HWND中。 应用程序中其余的WPF内容共享单个HWND。 菜单,组合框下拉菜单和其他弹出窗口是一个例外。 这些元素创建自己的顶层窗口,这就是WPF菜单可能会超出包含它的窗口HWND边缘的原因。 当您使用HwndHost将HWND放入WPF时,WPF通知Win32如何相对于WPF窗口HWND放置新的子HWND。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM