1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| import sys import subprocess import time import win32gui
from PyQt5.QtCore import QProcess, Qt from PyQt5.QtGui import QWindow, QIcon, QFont from PyQt5.QtWidgets import QMainWindow from PyQt5.QtWidgets import QMdiArea, QSplitter, QTextBrowser from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout from win32com import client from win32gui import GetWindowText, EnumWindows,SetForegroundWindow class Example(QMainWindow):
def __init__(self): super().__init__() self.p = QProcess() self.layout = QVBoxLayout() self.mdi = QMdiArea() self.mainSplitter = QSplitter(Qt.Vertical) self.setCentralWidget(self.mainSplitter) self.mainSplitter.addWidget(QTextBrowser()) self.initUI()
def initUI(self): self.runExe() EnumWindows(self.set_cmd_to_foreground, None) hwnd1 = win32gui.GetForegroundWindow() print(hwnd1) window = QWindow.fromWinId(hwnd1) container_widge = self.createWindowContainer(window, self) container_widge.setFocusPolicy(Qt.TabFocus) container_widge.setFocus() container_widge.setWindowTitle("ain") container_widge.setFont(QFont("Times New Roman")) container_widge.setGeometry(500, 500, 450, 400) container_widge.activateWindow() container_widge.acceptDrops() container_widge.grabMouse() container_widge.setMouseTracking(True) self.mainSplitter.addWidget(container_widge) self.showMaximized() def runExe(self): shell.run("cmd.exe") time.sleep(1) def set_cmd_to_foreground(self, hwnd, extra): """sets first command prompt to forgeround""" if "cmd.exe" in GetWindowText(hwnd): print(hwnd) SetForegroundWindow(hwnd) return def run_script(self, shell, scripts): """runs the py script""" shell.SendKeys(scripts+"{ENTER}") if __name__ == '__main__': shell = client.Dispatch("WScript.Shell") app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
|