从注入的win32 dll调用c#函数

本文关键字:调用 函数 dll win32 注入 | 更新日期: 2023-09-27 18:12:17

我有一个win32 dll,我注入到一个正在运行的进程中,以便提取和监控/日志数据。这个dll然后承载CLR,并使用ExecuteInDefaultAppDomain来加载创建WinForm的c# dll。

目前,当我的c# dll被加载和init函数被调用时,它会创建一个带有richtextbox的WinForm来显示信息,它可以很容易地导入我的win32 dll的所有函数。

所以现在,我怎么能调用一个函数来写我的richtextbox在我的c# WinForm重复(在循环中)从我的win32 dll中的一个函数(两个dll已经加载在同一进程中)?

编辑:我查了很多关于各种方式的话题,但似乎没有一个适合我的情况,比如在这里stackoverflow, msdn, codeguru, google。

在这种情况下,使用反向p/调用对我有用吗?如果是的话,你能给我举个小例子吗?

从注入的win32 dll调用c#函数

当然,您将在委托中使用p/Invoke。看看这个答案在这里SO:如何实现回调接口从非托管DLL到。net应用程序?