如何使用批处理文件单击按钮?

时间:2012-10-25 15:21:53

标签: batch-file

我需要在名为Arthropod的Adobe Air应用程序中单击名为“save”的按钮。我可以使用以下命令在bat文件中启动应用程序:

cd C:\Program Files\Arthropod
start /w Arthropod.exe

弹出后,UI上有一个保存按钮。如何使用bat文件单击它?

我正在读这个:

http://www.ehow.com/how_7788761_press-buttons-batch-file.html

展示了如何模拟MS Word中文件菜单和其他标签的点击次数,但是如何在任何其他按钮上执行此操作?

P.S。按钮上的文字是“保存”,这是我能想到的唯一标识符。有没有什么是批处理我可以说(伪代码):

$('button[text="Save"]').click();

4 个答案:

答案 0 :(得分:12)

没有本地方法可以干净利落地完成这项工作。

但是你可以使用VBS来模拟击键,类似于AutoIT,但是没有灵活性。在Plus方面,您无需下载VBS。自95年以来,它已被包含在Windows的每个版本中。


我提供了一个启动notepad.exe的示例,然后在其中键入以下内容:

Hello World!
abcDEF


以下单行称为LaunchNotepad.bat

cscript /nologo LaunchNotepad.vbs


以下是LaunchNotepad.vbs

的内容
' Create WScript Shell Object to access filesystem.
Set WshShell = WScript.CreateObject("WScript.Shell")

' Start / Run NOTEPAD.EXE
WshShell.Run "%windir%\notepad.exe"

' Select, or bring Focus to a window named `NOTEPAD`
WshShell.AppActivate "Notepad"

' Wait for 5 seconds
WScript.Sleep 5000

WshShell.SendKeys "Hello World!"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "abc"
WshShell.SendKeys "{CAPSLOCK}"
WshShell.SendKeys "def"

请注意,如果有一个或多个Notepad.exe实例已打开,打开记事本需要5秒以上,则上面的代码可能会选择记事本的最后一个活动实例并输入。< / p>


要使VBS代码按您的需要工作,您需要学习如何通过键盘浏览Adobe Air。通常选项卡和/或箭头键就足够了。有时您可能需要使用 ALT 键进入菜单。

此外,您实际上可以使用一系列键盘命令,例如 ALT + F S ENTER ,甚至是键盘快捷键,如 CTRL + S

发送 TAB ALT + F CTRL + S

WshShell.SendKeys "{TAB}"        ' TAB                TAB Key
WshShell.SendKeys "%F"           ' ALT-F              (F)ile Menu
WshShell.SendKeys "^S"           ' CTRL-S             Save File
WshShell.SendKeys "%(Fa){ENTER}" ' ALT-F+ALT-A ENTER  (F)ile -> Save (A)s -> (ENTER)
WshShell.SendKeys "{UP}"         ' Up Arrow           Up Arrow
WshShell.SendKeys "{DOWN}"       ' Down Arrow         Down Arrow
WshShell.SendKeys "{LEFT}"       ' Left Arrow         Left Arrow
WshShell.SendKeys "{RIGHT}"      ' Right Arrow        Right Arrow

答案 1 :(得分:4)

您可以使用AutoIt执行此操作。您可以生成一个脚本,单击“保存”按钮,然后从批处理文件中调用生成的EXE文件。

答案 2 :(得分:1)

Winbatch是另一个可以发送击键的程序,但与AutoIt不同,我不相信它是免费的。

答案 3 :(得分:0)

您无法使用bat文件自动执行按钮点击。如果可能的话,您仍然需要某种用于Adobe Air的API来访问控件本身。但是,如果此按钮有键盘快捷键,您可以模拟击键并将其发送到应用程序。