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.PyMake...    
用python操作Windows的计算器。
    安装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.2013-03-01
pyhook可以抓到键。
不过这里只需要消息就可以了,win32api中的windows的message
使用vc中的消息 工具,抓键盘消息。然后再把这个消息包装一下用pywin32中的API发送过去。
我以前用pyhook加pywin32, 控制过一个游戏,做外挂。
也用pywin32的com接口控制过excel2013-02-27
这个问题很有意思啊:
(1)为什么不直接编写程序完成这个计算呢?用python直接计算这个简单的运算多么方便啊!
(2)难道你的意图是练习用python编写脚本控制windows平台下的应用吗?那没问题,这样,你直接搜  “windows API 编程”  就可以,这个应该是你想要的东东......2013-02-27