# -*- coding: utf-8 -*-
import os
import time
import win32gui
import win32api
import win32con
import sys
import msvcrt
#筛选需要的窗口句柄
def get_mesh_windows(hWndList, name):
winhwnd= []
for hWnd in hWndList:
title = win32gui.GetWindowText(hWnd)
clsname = win32gui.GetClassName(hWnd)
#print 'title:%s' % (title)
#print 'name:%s' % (clsname)
if title.startswith(name):
winhwnd.append(hWnd)
return winhwnd
if __name__ == "__main__":
base_dir = sys.argv[1]
file = sys.argv[2]
#启动两个程序,titles: mesh-view1, mesh-view2, start:不阻塞当前进程
os.system('start python dynamic_viewer.py ' + base_dir + ' ' + file)
os.system('start python dynamic_viewer1.py ' + base_dir + ' ' + file + '_Refine')
#sleep 1s, 当前进程才能找到这两个窗口
time.sleep(1)
print 'search window with title mesh-view...'
#搜索所有窗口
hWndList = []
win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWndList)
name = 'mesh-view'
winhwnds = get_mesh_windows(hWndList,name)
print 'there are %d windows named mesh-view '%len(winhwnds)
while True:
ch = msvcrt.getch()
if ch == 'q' :
break
asc = ord(ch)
for wh in winhwnds:
win32api.PostMessage(wh, win32con.WM_CHAR, asc, 0)
print "work done!"