QT怎么把别的exe程序嵌入到自己的窗口中

wqeqeqwrq 2015-12-28 10:29:09
不要说Active控件和com组件。
如题。
QProcess* pProcess = new QProcess(this);
QString sProgram = "D:/soft/TCP&UDP测试工具V1.02/TCPUDPDbg";
pProcess->setProgram(sProgram);
pProcess->start();

qint64 lID = pProcess->processId();
QWindow* window = QWindow::fromWinId(lID);
QWidget* widget = QWidget::createWindowContainer(window, this, Qt::Widget);
widget->show();
我自己写的一段代码,但是运行之后exe程序还是不在MainWindow里面。
效果如下:

我就是想把左边的窗口移到MainWindow里面,请教大神怎么做。
...全文
5096 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
15665964 2019-09-03
  • 打赏
  • 举报
回复
获取别人的窗口句柄。。然后通过句柄就可以操作这个窗体了。但是本身找到这个窗体的句柄就不那么容易。或者用钩子。把Windows的消息泵都勾出来。啥都可以做了。
EricPG22 2017-08-08
  • 打赏
  • 举报
回复
获取待嵌入窗口句柄 + fromWId + createWindowContainer
欧阳春晖 2016-01-19
  • 打赏
  • 举报
回复
用组件技术嵌入
画茧自缚 2016-01-13
  • 打赏
  • 举报
回复
paschen 2016-01-13
  • 打赏
  • 举报
回复 1
引用 8 楼 u012879787 的回复:
[quote=引用 1 楼 jiqiang01234 的回复:] 如果很简单就能把别的程序嵌入,那ActiveX之类还有什么存在的价值?
可以嵌入的,我做过,就是movewindow,不过带来很多问题。 破坏了窗口的顺序,也就意味着焦点这些东西,偶尔不管用。 貌似com 就是为了解决这个问题,比如office 中嵌入别的程序,[/quote] 参考:http://bbs.csdn.net/topics/391889219
苦逼码农 2016-01-13
  • 打赏
  • 举报
回复
引用 1 楼 jiqiang01234 的回复:
如果很简单就能把别的程序嵌入,那ActiveX之类还有什么存在的价值?
可以嵌入的,我做过,就是movewindow,不过带来很多问题。 破坏了窗口的顺序,也就意味着焦点这些东西,偶尔不管用。 貌似com 就是为了解决这个问题,比如office 中嵌入别的程序,
昵称很不好取 2015-12-29
  • 打赏
  • 举报
回复
搜搜QX11EmbedContainer的用法
wqeqeqwrq 2015-12-29
  • 打赏
  • 举报
回复
估计是没有这样的方法了,不然人家微软也必要做个Active和com啊
paschen 2015-12-28
  • 打赏
  • 举报
回复
MoveWindow ?
wqeqeqwrq 2015-12-28
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
CreateDesktop
没有这个函数
引用 1 楼 jiqiang01234 的回复:
如果很简单就能把别的程序嵌入,那ActiveX之类还有什么存在的价值?
好吧,可能没有这种方法!
赵4老师 2015-12-28
  • 打赏
  • 举报
回复
CreateDesktop
jiqiang01234 2015-12-28
  • 打赏
  • 举报
回复
如果很简单就能把别的程序嵌入,那ActiveX之类还有什么存在的价值?

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧