前言
之前只做过,在界面中调起外部程序exe,只用将QProcess启动即可。如今,尝试将外部的exe嵌入到Qt的界面中,基本实现了,感觉挺神奇的!
效果图
我写了一个小demo,是通过菜单栏触发的
说明和代码
实现的大体思路是:将要嵌入的外部程序启动运行,然后获取主界面的句柄HWND,将其转化为QWidget,将其加到界面上显示。
启动外部程序
启动外部程序,挺简单的,可以用Qt的QProcess来实现,也可以用Windows API的方法来实现,在这里记录下,不然老忘(注:Sleep 是必须的,因为如果立即执行后续操作的话,由于进程还没有完全起来,是获取不到窗体句柄的):
void QProcess::setCreateProcessArgumentsModifier
(QProcess::CreateProcessArgumentModifier modifier)
Note: This function is available only on the Windo