MainWindow中打开模式窗口
CDialog dlg;
dlg.DoModal();
怎么能在其他的程序中隐藏MainWindow的同时也隐藏dlg呢?dlg模式窗口中又打开新的模式窗口时呢?
本地测试:
HWND hWnd = ::FindWindow(NULL,"MainWindow");
::ShowWindow(hWnd,SW_HIDE);
以上代码只能隐藏MainWindow,dlg还是正常显示。因为会有很多模式窗口都需要隐藏,因此不适合每一个窗口都FindWindow。
谁能有更好的办法?分是其次,如能解决问题,感激不尽!
l 使用(SW_MAXIMIZE|SW_RESTORE)/ SW_MINIMIZE消息代替SW_SHOW/SW_HIDE消息,代码如下,
HWND hWndGps = ::FindWindow ( NULL,_T("AutoNavi")); if(hWndGps) { ::ShowWindow ( hWndGps,SW_RESTORE ); //隐藏时用最小化 ::ShowWindow ( hWndGps,SW_MINIMIZE) }