case WM_CLOSE: //很怪,这里下面的判断没起作用。就算点了否还是退出窗口了,原因不知?
if(IDYES==MessageBox(hKeyloger,"是否要退出程序?","gaofff",MB_YESNO))
{
MessageBox(hKeyloger,"点了是前?","gaoYES",MB_YESNO);
DestroyWindow(hKeyloger);
MessageBox(hKeyloger,"点了是后?","gaoYES",MB_YESNO);
}
else
{MessageBox(hKeyloger,"点了否?","gaoNO",MB_YESNO);}
break;
case WM_DESTROY: //一定要有这个CASE,不然你结束程序后,进程没有结束
PostQuitMessage(0);
break;
换了个地方写就成了.看来应该是return DefWindowProc(hKeyloger,uMsg,wParam,lParam);把uMSG又传回到MSG里面了.导致了虽然我点了否,但是我还是操作了WM_CLOSE ,这个操作还是被DefWindowProc(hKeyloger,uMsg,wParam,lParam);传回去了,所以前面在case WM_CLOSE:里面写的代码虽然能判断运行,但是最后还是会执行close操作,是系统默认执行的。
千万里不及你
温温酱
相关分类