0

電卓から演算結果を取得したいのですが、特別な関数が見つかりません。これが私のコードです:

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 に取り組んでおり、これが私の最初のステップです。ありがとうございました。

4

1 に答える 1

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
>>>
于 2013-10-15T15:36:46.277 に答える