读书人

最大化另一个程序窗口解决思路

发布时间: 2012-08-29 08:40:14 作者: rapoo

最大化另一个程序窗口
我想在我的程序中最大化另一个程序的窗口,最设置了最大化后,那个程序的最小货窗口按钮就没用了,点了没反应。

C/C++ code
HWND hFoxmailHandle=NULL;    hFoxmailHandle=::FindWindowW(NULL,_T("Foxmail"));        CWnd FoxmailWnd=CWnd();    FoxmailWnd.Attach(hFoxmailHandle);    if(NULL!=hFoxmailHandle)    {        WINDOWPLACEMENT WinPlace;        memset(&WinPlace,NULL,sizeof(WinPlace));        FoxmailWnd.GetWindowPlacement(&WinPlace);        if(WinPlace.showCmd!=SW_SHOWMAXIMIZED)        {            WinPlace.showCmd=SW_SHOWMAXIMIZED;            if(!FoxmailWnd.SetWindowPlacement(&WinPlace))                AfxMessageBox(_T("程序出错!"));        }    }    FoxmailWnd.Detach();


[解决办法]
我试验了你的程序,没有问题,是对的。
[解决办法]
密密麻麻的一堆看不懂
[解决办法]
在你的程序里定义一个消息,然后取得要最大化那个窗口的句柄,发送这个消息给那个窗口。
那个窗口程序也要定义一个响应此消息的函数,这个响应函数再调用发最大化消息给本身窗口。
[解决办法]
探讨
只要调用了SetWindowPlacement()就个函数,不做你改水改变都会使最小化功能失效。可以这个SetWindowPlacement()的用法就不应该这样。嗯,应该还是发送消息才是正解的吧。请问楼上的方便说怎么发送这个消息么?

读书人网 >C++

热点推荐