这里我试图用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,它运行正常。如果我在运行此代码后手动打开记事本,则表示正在写入记事本。
答案 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”。