import win32api
import win32con
import win32gui
import win32ui
import win32console
import win32process
import os
import signal
MAIN_HWND = 0
def is_win_ok(hwnd, starttext):
s = win32gui.GetWindowText(hwnd)
if starttext in s:
print (s)
global MAIN_HWND
MAIN_HWND = hwnd
return None
return 1
def find_main_window(starttxt):
global MAIN_HWND
win32gui.EnumChildWindows(0, is_win_ok, starttxt)
return MAIN_HWND
def winfun(hwnd, lparam):
s = win32gui.GetWindowText(hwnd)
if len(s) > 3:
print(“winfun, child_hwnd: %d txt: %s” % (hwnd, s))
return 1
def main():
main_app = ‘Sublime’
main_app = ‘test.txt - 记事本’
#main_app = ‘F:\test\test.go - Sublime Text ’
hwnd1 = win32ui.FindWindow(None,main_app)
# win32gui.CloseWindow(hwnd1)
print(hwnd1)
hwnd = win32gui.FindWindow(None, main_app)
print(win32gui.GetWindowText(hwnd))
print(type(hwnd))
print (hwnd)
thread,processId =win32process.GetWindowThreadProcessId(hwnd)
print(thread)
print(processId,signal.CTRL_BREAK_EVENT)
os.kill(processId,signal.CTRL_C_EVENT)
os.kill(processId,signal.CTRL_BREAK_EVENT)
win32gui.CloseWindow(hwnd)
if hwnd < 1:
hwnd = find_main_window(main_app)
print(type(hwnd))
print (hwnd)
# Shows or hides a window and changes its state
win32gui.ShowWindow(hwnd, 0)
# win32gui.HideCaret(hwnd)
#win32api.OpenProces
main()