有个窗口标题设为AAA,我想过滤掉用户点击它右上方关闭按钮时的消息,也就是不让它关闭
我试着用钩子实现我这一想法,可试了好久都没成功,不知道怎么回事.
主要是回调函数部分我不知道写的对不对,大家帮我看一下.
LRESULT CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
CWPSTRUCT* cwp;
cwp = (CWPSTRUCT*)lParam;
if((cwp->hwnd == ::FindWindow(NULL,"AAA"))&&(cwp->message == WM_CLOSE))
{
return 0;
}
else
{
return CallNextHookEx(hhHook,nCode,wParam,lParam);
}
}我不知道参数到底应该怎么用,请大家帮忙.
我试着用钩子实现我这一想法,可试了好久都没成功,不知道怎么回事.
主要是回调函数部分我不知道写的对不对,大家帮我看一下.
LRESULT CALLBACK CallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
CWPSTRUCT* cwp;
cwp = (CWPSTRUCT*)lParam;
if((cwp->hwnd == ::FindWindow(NULL,"AAA"))&&(cwp->message == WM_CLOSE))
{
return 0;
}
else
{
return CallNextHookEx(hhHook,nCode,wParam,lParam);
}
}我不知道参数到底应该怎么用,请大家帮忙.
解决方案 »
- 请教高手~~~如何判断鼠标移动到哪个tab上?
- 成都寻服务端开发相关工作。
- listctrl排序问题
- [求助]这样的界面该怎么实现啊,请帮忙看看!
- 简单的问题,请指点一下
- (急~在线等!)想取网页内容却取回奇怪信息,谁能帮我看一下?
- 如何改变CRichEditCtrl的背景(100分)
- 帮帮忙..我做一个Outlook express 样式的界面,但我想让右侧下面的窗口能够有显示和隐藏功能,该怎么做呢?
- windows media player控件,求助
- fscanf(fp,"%d%d",&j,&i);可以,怎么fscanf(fp,"%d%d",&m_NP,&m_NE);就会错
- 100元出售原来500元的源代码
- 请问在VC++6.0中开启线程有几种方式?如何关闭每种方式开出的线程?
试试WM_DESTROY。
如要你把findwindow那去掉,本程序就不能关掉了.
所以
if (cwp->message==WM_CLOSE)
cwp->message = WM_NULL;
为什么要用hook呢。
hook功能很强大,但是又不一定要用在这个上面。
WM_CLOSE,直接disable不就可以了
非常感谢你的建议,我会试一下.TO: hifan
问题是那个窗口不是我自己写的程序的,是另一个应用程序的,我没办法改它窗口的属性.