一个Dll和EXE程序传值的问题!传不成功 我做了个键盘HOOK程序,做一个DLL,一个EXE程序,EXE程序调用了DLL,启动HOOK,但是我想把EXE程序中一个对话框中添入的数据传给Dll,怎么做啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把你的DLL导出函数中带上参数,EXE在调用的时候,通过参数传递给DLL即可。 楼主,你的问题是一个进程间数据的共享问题。现在好多网上关于HOOK的文章都有一个错误。那就是钩子回调函数中 CallNextHookEx中第一个参数的问题!其实只有你的EXE程序才能正确传递这个值。而被挂钩的程序这个值并不确定;如:全局变量 HHOOK hHook=0;LRESULT CALLBACK HookProc(int nCode,WPARAM wParam,LPARAM lParam){ if(!hHook) MessageBox(0,"hHook==0","!!",0); //如果hHook==0则会提示 return CallNextHookEx(hHook,nCode,wParam,lParam);} 使用#pragma data_seg("共享数据段的名字")这其中 共享数据初始化#pragma data_seg 现在问题是将EXE文件中的一个成员变量传到Dll中!就是键盘HOOK的处理函数HOOKProc中。我是做了个 Hook类,成员函数StartHook然后调用API SetWindowsHookEx,调用键盘处理程序HOOKProcEXE文件只是生成一个Hook对象,调用成员函数StartHook。现在我想根据EXE程序中一个成员变量值,决定HOOKProc中的处理! 使用#pragma data_seg("共享数据段的名字")这其中 共享数据初始化#pragma data_seg还是没用啊!我调试了值一直是0 在共享数据段之后加上编译选项:#pragma comment(linker,"/SECTION:共享数据段的名字,RWS")才能开启共享...在EXE中把你的数据做参数,调用DLL函数,这个函数再把参数赋给上面的共享变量,然后大家都可以用了... 如何把做好的对话框项目添加到另一个项目里? 求救控件中创建控件显示不正常 跨浏览器显示问题 如何得到远程机的桌面显示 vc中怎么实现在对话框显示后,自动运行进度条,需要外部传递两个数值。 求<<MFC Windows程序设计>> 一个关于值传递的问题?? 基本的图像打开问题 請問:如使何對進程的共享內存進行讀寫? 关于ZoneAlarm的网络安全控制 看看我的事务提交错在什么地方 字段如何包含double型数组?
全局变量 HHOOK hHook=0;LRESULT CALLBACK HookProc(int nCode,WPARAM wParam,LPARAM lParam){
if(!hHook) MessageBox(0,"hHook==0","!!",0); //如果hHook==0则会提示
return CallNextHookEx(hHook,nCode,wParam,lParam);
}
#pragma data_seg("共享数据段的名字")
这其中 共享数据初始化
#pragma data_seg
我是做了个 Hook类,成员函数StartHook然后调用API SetWindowsHookEx,调用键盘处理程序HOOKProc
EXE文件只是生成一个Hook对象,调用成员函数StartHook。
现在我想根据EXE程序中一个成员变量值,决定HOOKProc中的处理!
#pragma data_seg("共享数据段的名字")
这其中 共享数据初始化
#pragma data_seg
还是没用啊!我调试了值一直是0
#pragma comment(linker,"/SECTION:共享数据段的名字,RWS")
才能开启共享...在EXE中把你的数据做参数,调用DLL函数,这个函数再把参数赋给上面的共享变量,然后大家都可以用了...