参考知乎链接,
https://zhuanlan.zhihu.com/p/162910207
不过这里不够完整,还要添加一个通过储存返回回来的handle,在后面清理掉目标进程的方法
https://blog.csdn.net/gaofei7439/article/details/86609359
引入dll 不就是 用 #pragma comment(lib,"和dll同时生的lib的路径.lib")吗?或者 HMODULE hModule = LoadLibrary("要用的dll文件路径")
然后 用 所调用函数类型的指针 = GetProcAddress(hModeule,"函数名")
这样就可以 使用 你想要用的函数了,
第一种方式也有不足之处
第二种方式 比较麻烦 需要你理解函数指针
不过函数指针 也不难
比如说 定义了一个 函数 void a (int a )
然后定义 函数指针的时候 就可以
void (*p)(int )
而这个p就是一个可以接受 一个void类型的返回值 和 形参为int类型的函数了
所以有了 p = &a
然后 直接就可以使用(*p)(123)
这样就调用了 函数a里面的代码了
如果此时 也有一个void b(int b )
同样的 p 也可以获取到 &b的地址
废话有点多了 也不知道 你要的是不是这个
在提醒一点使用第二个 虽然 不会出现 无法解析的外部函数的错误,但是在导出的时候要用extern "C" 导出该函数 不然使用 GetProcAddress是失败
新建一个文件夹。首先打开,编辑>fx插件,新建插件命名,勾选显示内容目录,创建好之后在浏览器中显示,这时你会发现在项目文件夹中会多出一个插件的文件夹,双击进入添加你要导入的外部插件包。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)