编程过程中,不可避免要操作外部窗口,MFC中操作窗口用的都是CWND::fromHandle();
qt中操作外部窗口与CWND对应的是QWindow类。
HWND hwndLogin=FindWindow(NULL,L"登录");
QWidget* widgetLogin=QWidget::find((WId)hwndLogin);
QWindow* windowLogin=QWindow::fromWinId((WId)hwndLogin);
windowLogin->showFullScreen();
用上面的语句即可将相应句柄对应的窗口最大化显示。当然有不足的地方,比如调用title显示不了窗口的标题的,调用show方法,有时候不能把窗口提到顶层,取决于窗口状态,如果窗口是最小化的,show会将窗口提到最前面,否则没有变化的。。。。我还一度以为方法不好使。。。还是有坑啊。
另外,如果单纯想实现某些窗口的最大化、最小化、放在最前面,可以用API函数,原生态的,既快捷又安全。
::SetForegroundWindow(hwndSilver);
可以将窗口提到最上面。