1.下载microsoftspy++工具,方便搜索需要嵌入EXE的窗口的类名和窗口的标题
2.使用microsoftspy++工具,打开软件
3.点击搜索->查找窗口
4.将窗口所指的靶心移到你要嵌入的EXE
5.获取窗口的类名和标题
7.新建一个pyqt最简单的应用程序
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ProcessBar.ui'
#
# Created by: PyQt5 UI code generator 5.15.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout
import win32gui
import sys
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
#通过窗口的类名和标题获取窗口句柄
self.hwnd1 = win32gui.FindWindowEx(0, 0, "Qt5152QWindowIcon", "ParaView 5.12.0")
#通过窗口句柄获取窗口
self.window = QtGui.QWindow.fromWinId(self.hwnd1)
#通过窗口生成qwidget
widget = MainWindow.createWindowContainer(self.window,MainWindow)
MainWindow.setCentralWidget(widget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
if __name__ == "__main__":
app = QApplication(sys.argv)
win=QtWidgets.QMainWindow()
ex = Ui_MainWindow()
ex.setupUi(win)
win.show()
sys.exit(app.exec_())
8.运行此脚本