gpt4 book ai didi

c# - 在 C# 接口(interface)应用程序之间通信并注入(inject)到另一个进程 dll

转载 作者:行者123 更新时间:2023-11-28 08:20:47 34 4
gpt4 key购买 nike

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

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

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

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

最佳答案

WPF 处理消息的方式与您习惯的有点不同。 Read this article了解什么是可能的,什么是不可能的。

本文重要部分:

All WPF elements on the screen are ultimately backed by a HWND. When you create a WPF Window, WPF creates a top-level HWND, and uses an HwndSource to put the Window and its WPF content inside the HWND. The rest of your WPF content in the application shares that singular HWND. An exception is menus, combo box drop downs, and other pop-ups. These elements create their own top-level window, which is why a WPF menu can potentially go past the edge of the window HWND that contains it. When you use HwndHost to put an HWND inside WPF, WPF informs Win32 how to position the new child HWND relative to the WPF Window HWND.

关于c# - 在 C# 接口(interface)应用程序之间通信并注入(inject)到另一个进程 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5916364/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com