本机和托管C ++之间的函数调用(方法)

时间:2013-03-08 20:36:03

标签: c++ .net hook marshalling

我是.Net的新手并试图解决这个问题。 在过去的几天里做了足够的谷歌搜索,我只看到一些模糊的(至少对我来说)C#相关信息

基本上,我正在尝试设置一些全局挂钩来执行某些自动化过程。由于开发环境是VS2008 C ++窗体,我开始编译一个由调用prog注入的本机Dll。策略是本机dll中的回调proc调用.Net程序中的函数(或者可能是包装器管理的dll),传递过滤的原始数据(键盘/鼠标/ WM_create / etc)消息以供进一步处理。

问题:如何将这些函数的句柄传递给我注入的dll?

托管包装器dll路径是一个更容易的选择,还是只需要托管&在主应用程序中并排驻留的本机函数?

我将不得不做很多编组,这是另一个黑暗的一面。是否有精确文档/编组功能示例的链接?

我提前感谢你的帮助。
标记

1 个答案:

答案 0 :(得分:0)

看看'Marshal.GetFunctionPointerForDelegate'