在 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。
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 运行同一解决方案的另一个项目的项目
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- C++从另一个类访问公共静态向量的正确方法是什么
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 使用std::transform将一个范围的元素添加到另一个范围中
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- 修改函数中的指针(将另一个指针作为参数传递)
- 为什么我不能将一个对象push_back到属于另一个类的对象向量中?
- C++试图读取一个文件并输出到另一个文本文件
- 如何将指针从一个void函数传递到另一个C++
- 有没有办法将一个对象注入到另一个对象的结构中?
- 是否可以注入一个进程并获取给定的句柄,然后使用它们注入另一个进程
- 如何在 ubuntu 上将可执行文件注入另一个可执行文件
- Dll 注入 - 在另一个进程中编写本机代码
- 如何将dll注入另一个进程
- 如何从注入到同一程序的另一个.dll调用函数
- 在 c# 接口应用程序之间进行通信并注入到另一个进程 dll