|
发表于 2023-4-12 15:20:48
|
显示全部楼层
下面是我用pywin32模拟的通达信输入股票代码查行情的代码,稳定使用一年多了,你对照改下就可以
当时也是网上查的,原理什么的早忘了。
import win32api,win32gui,win32con,pythoncom,win32com.client
keydic = {'0':48,'1':49,'2':50,'3':51,'4':52,'5':53,'6':54,'7':55,'8':56,'9':57}
tdx = win32gui.FindWindow("TdxW_MainFrame_Class", None) #获取窗口
if code.isdigit() and len(code) == 6:
if tdx != 0:
### shell 行为pywin32 setfroregroundwindow 小BUG,只是提前发送一个键给屏幕,没其它用处,但要保留
pythoncom.CoInitialize()
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys('%')
win32gui.SetForegroundWindow(tdx)
time.sleep(0.2)
codelist = list(code)
for n in codelist:
win32api.keybd_event(keydic[n],0,0,0)
win32api.keybd_event(keydic[n],0,win32con.KEYEVENTF_KEYUP,0)
time.sleep(0.2)
win32api.keybd_event(13,0,0,0)
win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)
win32gui.ShowWindow(tdx, win32con.SW_SHOW) |
|