如上!!!
解决方案 »
- WSAAsyncSelect(m_Sock, m_hWnd, WM_SOCK_MSG, FD_READ | FD_CLOSE);只有FD_READ能触发事件,怎解?
- vc8 里有没有像CString那样可以存储可变长数据的类型?
- 向COlist对象中,插入数据的问题
- CTabCtrl 加载窗口,窗口初始化问题
- Charles Petzold windows 编程 P346 Clock.c (时钟程序)
- 谁有Overlapped I/O模型写的传送文件(或传送大量数据)的例子,我感觉用这个模型在发送数据有点难控制.
- 编辑框添加了一个对应的int变量,运行程序的时候总会显示一个0如何除去
- WH_KEYBOARD钩子的问题
- 一个数据库连接的问题
- 一个简单的数据读取问题
- 请教关于网络字节顺序的问题,谢谢!
- 求vc与 matlab结合进行数据处理方面的代码!
HINSTANCE g_hinstDll = NULL; // instance handle
#pragma data_seg(".HOOKDATA")HHOOK g_hhook = NULL; // Hook handle for thread-specific hook
#pragma data_seg()#pragma comment(linker, "/SECTION:.HOOKDATA,RWS")BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call,LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
g_hinstDll=(HINSTANCE)hModule; //得到DLL实例 return TRUE;
}LRESULT WINAPI CallWndRetProc (int nCode, WPARAM wParam, LPARAM lParam
{ if(nCode < 0)
{
CallNextHookEx(g_hhook, nCode, wParam, lParam);
return 0;
}
LPMSG pMsg = (LPMSG)lParam; if(pMsg->message==0x0000001)&&(pMsg->wParam==WM_COMMAND) )//点了"确定"
{
LONG lStyle = ::GetWindowLong((HWND)pMsg->lParam, GWL_STYLE);
if(lStyle==0x86000044)//判断是否是我要找的窗口
{ char msg[200]; sprintf(msg,"count=%d",count);//这里,不管你的change怎么赋值,就是等于1
::MessageBox(NULL,msg,"count",MB_OK);
}
return(CallNextHookEx( g_hhook, nCode, wParam, lParam ));
}
return(CallNextHookEx( g_hhook, nCode, wParam, lParam ));
}BOOL InstallHook(HWND ToRecverHwnd) //导出函数
{ MainDialog=ToRecverHwnd; if(g_hhook!=NULL) return TRUE;
g_hhook = SetWindowsHookEx(WH_CALLWNDPROC, CallWndRetProc, g_hinstDll, 0); return TRUE;
}int change(WPARAM aaa)//导出函数
{
count=a;
return 0;
}
上面简单的代码,出现了count的值不能改变的问题,不管change多少,count=a后,验证确实已赋值给了他,但在函数CallWndRetProc里,它的值始终是1,不会改变,大家说这是为什么
HINSTANCE g_hinstDll = NULL; // instance handle大哥,这个也要放进共享短里面去
#pragma data_seg(".HOOKDATA")
int count=1;
HINSTANCE g_hinstDll = NULL; // instance handle
HHOOK g_hhook = NULL; // Hook handle for thread-specific hook
#pragma data_seg()#pragma comment(linker, "/SECTION:.HOOKDATA,RWS")