安装pywin32模块。
注意:乘法的优先级高,在计算器输入时要加括号!
代码:
import win32api,win32gui, win32con
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("calc")
win32api.Sleep(1000)
shell.SendKeys("200{+}")
win32api.Sleep(1000)
shell.SendKeys("{(}100\x2a2{)}")
win32api.Sleep(1000)
shell.SendKeys("-22")
win32api.Sleep(1000)
shell.SendKeys("=")
h = win32gui.FindWindow("SciCalc", None)
edit = win32gui.FindWindowEx(h, None, 'Edit', None)
bufLen = 1024
buf = win32gui.PyMakeBuffer(bufLen)
n = win32gui.SendMessage(edit, win32con.WM_GETTEXT, bufLen, buf)
print buf[0:n]
win32api.Sleep(1000)
win32gui.SendMessage(h, win32con.WM_SYSCOMMAND, win32con.SC_CLOSE, 0);
运行结果:
378.
pyhook可以抓到键。
不过这里只需要消息就可以了,win32api中的windows的message
使用vc中的消息 工具,抓键盘消息。然后再把这个消息包装一下用pywin32中的API发送过去。
我以前用pyhook加pywin32, 控制过一个游戏,做外挂。
也用pywin32的com接口控制过excel
这个问题很有意思啊:
(1)为什么不直接编写程序完成这个计算呢?用python直接计算这个简单的运算多么方便啊!
(2)难道你的意图是练习用python编写脚本控制windows平台下的应用吗?那没问题,这样,你直接搜 “windows API 编程” 就可以,这个应该是你想要的东东......