我想从Calculator获得操作结果,但找不到任何特殊功能。 这是我的代码:
import win32com.client
import win32api
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("calc")
win32api.Sleep(100)
shell.AppActivate("Calculator")
win32api.Sleep(100)
shell.SendKeys("1{+}")
win32api.Sleep(500)
shell.SendKeys("2")
win32api.Sleep(500)
然后我想从calc得到结果并将其与if_then进行比较,比如
if calc_result== 3:
print ("True")
else:
print ("False")
我正在使用Python 3.3.2,这是我的第一步。谢谢。
答案 0 :(得分:0)
我不确定你在做什么,可能有更好的方法,但你可以发送 = 点击,然后按 Ctrl + C 作为1{+}2{=}^C
,所以你将它复制到剪贴板,然后使用Windows剪贴板函数读取它,如:
import win32com.client
import win32api
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("calc")
win32api.Sleep(100)
shell.AppActivate("Calculator")
shell.SendKeys("1{+}2{=}^C")
win32api.Sleep(500)
import win32clipboard
import win32con
win32clipboard.OpenClipboard()
r = win32clipboard.GetClipboardData(win32con.CF_TEXT).rstrip('\x00')
win32clipboard.CloseClipboard()
print(r)
预览:
>>> import win32com.client
>>> import win32api
>>> shell = win32com.client.Dispatch("WScript.Shell")
>>> shell.Run("calc")
0
>>> win32api.Sleep(100)
0
>>> shell.AppActivate("Calculator")
False
>>> shell.SendKeys("1{+}2{=}^C")
>>> win32api.Sleep(500)
0
>>>
>>> import win32clipboard
>>> import win32con
>>> win32clipboard.OpenClipboard()
>>> r = win32clipboard.GetClipboardData(win32con.CF_TEXT).rstrip('\x00')
>>> win32clipboard.CloseClipboard()
>>> print(r)
3
>>>