HWND g_hWnd;
HHOOK g_hCBTProc = NULL;
LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if (HCBT_CREATEWND == nCode)
{
g_hWnd = (HWND)wParam;
} return CallNextHookEx(g_hCBTProc,nCode,wParam,lParam); //传递钩子信息
}
HWND SetHook()
{
g_hCBTProc = SetWindowsHookEx(WH_CBT, CBTProc, GetModuleHandle("Hook"), 0);
return g_hWnd;
}
我这里的g_hWnd是为了获得WM_CREATE消息创建的桌面窗口,怎么每次还是返回NULL的呢,,
HHOOK g_hCBTProc = NULL;
LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if (HCBT_CREATEWND == nCode)
{
g_hWnd = (HWND)wParam;
} return CallNextHookEx(g_hCBTProc,nCode,wParam,lParam); //传递钩子信息
}
HWND SetHook()
{
g_hCBTProc = SetWindowsHookEx(WH_CBT, CBTProc, GetModuleHandle("Hook"), 0);
return g_hWnd;
}
我这里的g_hWnd是为了获得WM_CREATE消息创建的桌面窗口,怎么每次还是返回NULL的呢,,
解决方案 »
- 程序自动下载更新版本并重启,如何实现?
- GetPrivateProfileString无法获取ini文件的信息
- 求颜色算法:随机生成两个RGB颜色,一个做前景色一个做背景色,要求不刺眼、且对比清晰。
- 如何2幅图片相减?
- 高分求教:如何在客户端利用vc或evc 和服务器端的servlet通信
- 谁能解释一下 MBCS 与 UNICODE 方式程序中 用 WININET 提交的表单数据的异同?
- 怎样给Edit控件赋值,还有获取输入的值?
- 帮忙看段代码
- destroywindow函数的本质
- 关于nsis打包的问题
- void *memcpy(void *dest,const void *src,size_t count);的问题
- 异常处理代码里面用CRT函数可能导致"信号触发-处理"死循环吗?
create....
g_hWnd不就是新创建窗口的句柄吗
The CBT_CREATEWND structure contains information passed to a WH_CBT hook procedure, CBTProc, before a window is created. typedef struct tagCBT_CREATEWND {
LPCREATESTRUCT lpcs;
HWND hwndInsertAfter;
} CBT_CREATEWND, *LPCBT_CREATEWND;
Members
lpcs
Pointer to a CREATESTRUCT structure that contains initialization parameters for the window about to be created.
hwndInsertAfter
Handle to the window whose position in the Z order precedes that of the window being created.
{
LPCBT_CREATEWND p = (LPCBT_CREATEWND)lParam;
g_hWnd = p->hwndInsertAfter; //g_hWnd = (HWND)wParam; char buff[30];
LPCSTR lpstr;
lpstr = buff; ::SetWindowText(g_hWnd, lpstr);
} 我这样修改了还是没用,现在的测试目的就是截获新创建的消息,并把新创建窗口的标题栏的text设置为空
bbs.aisnote.com