Codeblock尝试windows消息钩取失败

代码参考:

https://blog.csdn.net/qq_38204481/article/details/82934364

其中程序为notepad的钩取程序,想拿codeblock做实验的,但是不知道怎么生成DLL文件

如果直接在编译完的exe程序下新建DLL文件,运行调用时会出现

因为这个DLL文件是需要我们去编译生成的,不能直接拿来用

 

百度了一番,参考了其他博客

尝试在codeblock新建动态链接库,然后差不多是这个结构(没有KeyHook.c的时候)

复制DLL的编译代码进mian.cpp,运行时会报

You must select a host application to “run” a library

解决参考:https://m.656463.com/wenda/nbxxzygzjyycxlyxk_608

需要在project里面修改build的目标

然后新建C文件,写入HookMain.cpp的代码,这下总没错了吧

 

可以运行,确实在目录下生成了DLL文件。但是貌似没有效果,记事本还是能输入内容。

进入process exploer查看,记事本没有调用HookKey.dll,说明没有成功插入线程里面

 

解决方法:出现问题的原因应该是codeblock中编译文件出现的问题,建议重新配置MinGW,或是换一个编译器,使用VC来编译试试

 

例如VC++,

生成文件编译,但是会报错

fatal error C1010: unexpected end of file while looking for precompiled header directive

这是个可以避免的错误,参考:https://wenda.so.com/q/1460717746722829来解决

运行生成DLL文件,这次能够正常钩取消息了

posted @ 2020-10-29 21:19  ch0bits  阅读(378)  评论(0编辑  收藏  举报