无法使用Java在AutoIt中打开记事本

时间:2016-04-13 09:15:39

标签: java autoit

这里我试图用Auto在AutoIt中打开记事本。但是我无法使用以下代码打开它。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas  id="myCanvas" width="300" height="200" ></canvas>
<div id="status"></div>

如果代替notepad.exe我给的是calc.exe,它运行正常。如果我在运行此代码后手动打开记事本,则表示正在写入记事本。

3 个答案:

答案 0 :(得分:3)

立即启动记事本shown将解决此问题。

<强>记事本

AutoItX x = new AutoItX();
x.run("notepad.exe", "", AutoItX.SW_SHOW);
x.winActivate("Untitled - Notepad");
x.winWaitActive("Untitled - Notepad");
x.send("This is some text");

<强> Notepad++

AutoItX x = new AutoItX();
x.run("C:\\Program Files (x86)\\Notepad++\\notepad++.exe");
x.winActivate("[CLASS:Notepad++]");
x.winWaitActive("[CLASS:Notepad++]");
x.send("This is some text");

答案 1 :(得分:1)

尝试完整路径:

x.run("C:\Windows\System32\notepad.exe")

我会为你的等待命令使用不同的顺序,因为你不能激活一个“不存在”的窗口,在你使用send()命令之前激活一个窗口会更聪明。正确的顺序是:

x.winWaitActive("Untitled - Notepad");

x.winActivate("Untitled - Notepad");
x.send("This is some text");

您也可以只使用WinWait()

答案 2 :(得分:1)

此代码适用于我:

AutoItX x = new AutoItX();
x.run("notepad.exe", "C:/Windows/System32/", AutoItX.SW_SHOW); // trying to open the notepad

x.winActivate("Sin título: Bloc de notas"); // waiting for the notepad to open
x.winWaitActive("Sin título: Bloc de notas");
x.send("This is some text"); // Once the notepad is open write into it.

请注意,窗口标题必须与Windows应用程序匹配。就我而言,Windows是西班牙语,标题是“Sintítulo:Bloc de notas”。