我正在尝试使用python从条形码扫描仪接收字符串,并使用它来选择要执行的激光雕刻机文件。我可以让Max打标(激光软件)打开正确的文件,但之后我迷路了。我想要按下"f2",这是运行激光的热键,然后等待Max打标软件在屏幕上显示的"etching“提示,然后关闭Max打标。我想我可以测试每个雕刻各自的时间长度,并只使用time.sleep(SomeAmountOfTime),但我希望根据雕刻完成情况来关闭程序。有没有办法让python在激光运行时等待“当前蚀刻”提示?这是在Max标记应用程序中进行的,而不是windows提示。这是我到目前为止所做的。
def notepad():
os.startfile('....filepath....')
time.sleep(2)
pyautogui.press('f2')
#Where I need to wait on etching prompt
os.system('taskkill /f /im maxmarking.exe')发布于 2021-09-08 06:51:08
一个非常简单的解决方案可以是_ = input("press ENTER when etching is finished"),它不是自动的,但很可靠。
如果你想要完全自动的东西,那就会困难得多。要检测另一个进程中的提示是否已经显示,要么它提供一个API来执行此操作(我对此表示怀疑),要么它将非常老套(例如this question,请参阅“窗口自动化”的整个主题)。
如果必须返回到Python执行脚本很麻烦,您可以使用热键来通知它,例如,参见this question。
https://stackoverflow.com/questions/69089902
复制相似问题