对话框对Windows脚本主机(Python)无响应

对话框对Windows脚本主机(Python)无响应,python,wsh,Python,Wsh,我正在尝试修改文件>打印设置下的打印设置选项。 我将Windows脚本主机与Python一起使用。我使用Alt+F和S打开相应的对话框: 当我手动执行这些命令时,打印设置框处于焦点位置,因此我可以按F选择“打印到文件”,然后{ENTER}或O接受更改 但是,ALT+F和F都没有选择文件选项 shell = win32com.client.Dispatch("WScript.Shell") shell.AppActivate('Point of Sale') shell.SendKeys("%f

我正在尝试修改
文件>打印设置下的打印设置选项。

我将Windows脚本主机与Python一起使用。我使用
Alt+F
S
打开相应的对话框:

当我手动执行这些命令时,打印设置框处于焦点位置,因此我可以按
F
选择“打印到文件”,然后
{ENTER}
O
接受更改

但是,
ALT+F
F
都没有选择文件选项

shell = win32com.client.Dispatch("WScript.Shell")
shell.AppActivate('Point of Sale')
shell.SendKeys("%fs") # I also tried "%fsf and "%fs%f" removing the other call to SendKeys"
time.sleep(0.1) # Removing this (or using a longer wait) makes no difference
shell.SendKeys("F") 

在发送“F”之前,您必须等待对话框出现

试试这个:

shell.SendKeys("%fs")
time.sleep(.25)
shell.SendKeys("f")

这个问题与该软件开发人员的错误实现有关。为了解决这个问题,我使用SendKeys发送多个
选项卡
,直到选择了
文件

如果发送
%f
,等待,然后发送
s
?S或ALT+F是否区分大小写?(即,按下shift键是否重要?@NickODell在
%f
s
之间插入等待,不会执行s命令。这些命令不区分大小写;这是一个python脚本,“销售点”是什么应用程序?@ATOzTOA这是一个我们不用电子收银机的软件。我不认为这个问题是软件特定的,但它只是奇怪。这似乎是可行的,但不幸的是,我尝试了这个,但它没有。也许我需要一种方法来让孩子的
打印设置
窗口对焦,即使当我手动运行键盘快捷键时,它也对焦了。那么问题应该出在
shell.AppActivate('Point of Sale')
,试试
记事本
AppActivate
只是让窗口对焦。我不认为这是错误的根源。使用记事本,我可以在一个字符串中执行多个操作。
shell.SendKeys(“%fs%fMargins”)
运行脚本时窗口是否处于焦点位置?是的;说得好。但这让这个错误变得更加奇怪。