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

发布于 2024-12-11 02:37:01 字数 455 浏览 0 评论 0原文

我有一个 win32 dll,我将其注入到正在运行的进程中,以便提取和监视/记录数据。然后,该 dll 托管 CLR 并使用 ExecuteInDefaultAppDomain 加载创建 WinForm 的 c# dll。

目前,当加载我的 c# dll 并调用 init 函数时,它会创建一个带有 Richtextbox 的 WinForm 来显示信息,并且可以轻松导入我的所有 win32 dll 函数。

那么现在,我如何从 win32 dll 中的函数之一调用一个函数来重复(循环)写入我的 c# WinForm 中的 richtextbox(两个 dll 已加载到同一进程中)?

编辑:我已经查找了很多与各种方式相关的主题,但似乎没有一个适合我在 stackoverflow、msdn、codeguru、google 等网站上的情况。

在这种情况下使用反向 p/invoke 对我有用吗?如果是这样,你能给我看一个小例子吗?

I have a win32 dll that I inject into a running process in order to extract and monitor/log data. This dll then hosts the CLR and uses ExecuteInDefaultAppDomain to load my c# dll that creates a WinForm.

Currently, when my c# dll is loaded and the init function is called, it creates a WinForm with a richtextbox to display information and it can import all my win32 dll's functions easily.

So now, how can I call a function to write to my richtextbox in my c# WinForm repeatedly(in a loop) from one of the functions in my win32 dll(both dll's are already loaded in the same process)?

edit: I have looked up quite a lot of topics relating to the various ways but none seemed to fit my situation on sites like here stackoverflow, msdn, codeguru, google.

Would using reverse p/invoke work for me in this situation? If so, can you please show me a small example?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

¢蛋碎的人ぎ生 2024-12-18 02:37:01

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

Of course you'll use P/Invoke with a Delegate. Look at this answer here on SO: Howto implement callback interface from unmanaged DLL to .net app?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文