Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 本机和托管C++;_C++_.net_Hook_Marshalling - Fatal编程技术网

C++ 本机和托管C++;

C++ 本机和托管C++;,c++,.net,hook,marshalling,C++,.net,Hook,Marshalling,我刚接触.Net,正在努力解决这个问题。。。。 在过去几天的谷歌搜索中,我只看到了一些模糊的(至少对我来说)与C#相关的信息 基本上,我正在尝试设置一些全局钩子来执行某些自动化过程。由于开发环境是VS2008 C++窗口窗体,所以我首先编译一个本地Dll,由调用PROG注入。本机dll中的回调过程调用.Net程序中的函数(或包装器管理的dll)的策略,传递过滤后的原始数据(键盘/鼠标/WM_创建/etc)消息以进行进一步处理 问题:如何将此类函数的句柄传递给注入的dll 托管包装dll路径是一个

我刚接触.Net,正在努力解决这个问题。。。。 在过去几天的谷歌搜索中,我只看到了一些模糊的(至少对我来说)与C#相关的信息

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

问题:如何将此类函数的句柄传递给注入的dll

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

我将不得不做大量的编组工作,这是事情的另一个阴暗面。是否有到编组功能精确文档/示例的链接

我提前感谢您的帮助。

Mark

查看一下“Marshal.GetFunctionPointerForDelegate”

感谢Loki的及时回复。我只是在MSDN上查了一下,它似乎是传递指针的正确方法,我将很快对它进行测试和验证。当然,我需要掌握正确的信息来封送本机dll调用到托管部分。。。对不起……给一个人一顿“饭”,他一天都不会饿。告诉他如何或在哪里吃饭,你已经喂了他一辈子了!!所以这个问题部分没有得到回答,不过我很感激,没问题。没什么好说的了,因为你的问题不够具体,无法给出详细的答案。。。再问一次,你是否有更多的“饭”来喂饱饥饿的人。。。