我無法找到針對Python的解決方案。執行外部應用程序並向其發送一些關鍵事件
我abeltØ啓動應用程序(使用subprocess.Popen或subprocess.call),但我不能找到一種方法,做其他部分:
我想送鑰匙的系列(一種的宏)到我剛剛打開的應用程序。像:
標籤 標籤 輸入 標籤 標籤 刪除 ...
有沒有辦法做到這一點,是Mac和PC兼容嗎?或者,如果不是,只有PC?
感謝您的幫助, 羅勒
PS。我知道有一些應用程序可以自動執行一些按鍵事件,但我想自己做。
我無法找到針對Python的解決方案。執行外部應用程序並向其發送一些關鍵事件
我abeltØ啓動應用程序(使用subprocess.Popen或subprocess.call),但我不能找到一種方法,做其他部分:
我想送鑰匙的系列(一種的宏)到我剛剛打開的應用程序。像:
標籤 標籤 輸入 標籤 標籤 刪除 ...
有沒有辦法做到這一點,是Mac和PC兼容嗎?或者,如果不是,只有PC?
感謝您的幫助, 羅勒
PS。我知道有一些應用程序可以自動執行一些按鍵事件,但我想自己做。
使用參數stdin=subprocess.PIPE
運行subprocess.Popen()
命令,然後使用Popen對象的stdin
文件將數據寫入進程的標準輸入流。對於你提到的一些命令,標準字符串轉義是可用的(比如'T'用於TAB)。但是,如果您需要更全面的鍵集,則需要拆分舊的ASCII表並通過chr()
函數將字符串拼接起來。
p = subprocess.Popen(['bash',], stdin=subprocess.PIPE)
p.stdin.write('echo "Hello\t\t\tWorld"\n')
在windows下,你可以使用古老的SendKeys來做到這一點。有幾個實現在浮動。一,使用win32 extentions或兩個,甚至有一對即可使用modulesavailable
感謝您的回答。我試過使用subprocess.Popen(),但它似乎不起作用。發送'\ t'字符串不起作用......它根本沒有任何作用......請注意,該應用程序不是基於python的(它是一個安裝應用程序 - 基本上它們是自動解壓zip文件(.exe),而且我有他們數百...)
我會嘗試一些Windows模塊的其他想法...但我真的更喜歡使用Mac和PC兼容的東西...