# -*- 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!"