模拟 "Windows "键和 "+"键来放大。
Windows 7(最后)具有屏幕内置缩放功能.按下" Windows"键,然后可以使用"+"键进行缩放,并使用" - "键进行缩放.结果,我一直在尝试模拟这种组合.使用Autoit,我尝试了: 1) Send("{LWINDOWN}" & "+" & "{LWINUP}") 2) $x = Chr(43) Send("{LWINDOWN}" & $x & "{LWINUP}") 3) Send("#{+}") ;//works but it also sends "+" key 4) Send("{LWINDOWN}") Sleep(10) Send("+",1) Sleep(10) Send("{LWINUP}") 这四个步骤都没有工作... 我实际上想在C#上使用此功能.如果我设法使用自动进行操作,我可以使用C#调用该脚本,这样我就不介意langauage.我也在模拟击键,因为我不知道如何使用C#放大. 解决方案 导入位于
0 2024-04-16
编程技术问答社区
如何检测现在是否有视频正在播放?
如何使用 autohotkey , autoit , vbscript , c#或 c ? 可以在任何本地播放器,基于Web的播放器或HTML5播放器中播放/流播放视频.我们不知道玩家的名称也可能不在全屏上. ps.检测CPU负载可能不会始终给出正确的结果,因此不可接受. 解决方案 当天,我已经在这件事上做了一些工作.有一个Win32API(旧派)可以/设置是否禁用屏幕保护程序(在User32.dll,getsCreensaveractive(),setScreensaveractive(),setScreensaveractive-请参见: http://www.codeproject.com/articles/17067/controllling-the-screen-saver-saver-with-with-c ) .这是视频播放时最有可能设定的标志,但并非100%可靠,因为并非每个玩家都会实施它.它将适用于大多数浏览器视频,无论是通过插件,本地还是通过Dir
2 2024-04-09
编程技术问答社区
SciTE4AutoIt3的构建和编译选项之间有什么区别?
在scite4autoit3的Tools菜单中,我可以选择Build或Compile. 有什么区别?他们都创建一个.exe文件. 解决方案 构建是一系列步骤,通常包括: 汇编 更新版本信息 包含资源和清单信息. 使用Scite编辑器,自动启动,编译和构建几乎相同.唯一的区别是,编译为您提供GUI,您可以在其中更改编译设置,例如要包含哪些软件包.构建只会使用默认设置运行编译.
2 2024-04-05
编程技术问答社区
从浏览器、php或xml中读取变量
我有一个自动化的应用程序,我需要以某种方式读取使用自动IT的PHP代码的结果,因此PHP代码将检查DE DB Serverside,如果可以,则可以继续进行自动进程,如果没有,则会继续停止. 解决方案 您的问题很模糊,所以我给您一个简单的例子. 在网络服务器中制作一个名为" autoit-api.php"的文件.将代码放在这样的内容中: $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Invalid query: ' . mysql_error()); } else { echo $result; } 这个想法是,您将使用此文件从数据库中检索数据,然后将其打印.不要添加任何HTML.仅打印值. 还可以在自己的计算机上制作自动脚本,并将其称为"检索php value.au3"或类似.将其放入这样的代码: #include $value
0 2024-04-04
编程技术问答社区
如何使Base64编码为Autoit和PowerShell?
我使用 在自动启用中获取字符串的base64编码: #Include "Base64.au3" Dim $Encode = _Base64Encode("ps") MsgBox(0, 'Base64 Encode Data', $Encode) 结果: cHM= PowerShell代码以获取同一字符串" PS"的base64编码: $commands = 'ps' $bytes = [System.Text.Encoding]::Unicode.GetBytes($commands) $encodedString = [Convert]::ToBase64String($bytes) $encodedString 我得到的是: cABzAA== PowerShell的结果是我想要的.如何使用Autoit获得相同的结果?我想这是一个字符编码的问题. 解决方案 当我运行此脚本时: #Include "Base64.au3" $Dec
10 2024-03-27
编程技术问答社区
在ERP程序中用AutoIt点击字段
这是我的场景: 我正在启动自动录音机.我使用键盘记录,因为使用鼠标会导致脚本大部分时间停止,或者在开始之后开始做一些不准确的事情. 我要做的是打开我创建的Excel模板.然后,我进入ERP系统,然后复制一些我将其粘贴到Excel中的列.插入这些列后,从我先前插入的公式中计算了更多列. 问题是,当我进入ERP系统时,我选择了一个特定的时间段...假设11月1日至11月31日.然后,我保存Excel,并使用Excel选项将电子邮件发送给特定人员,并随附Excel报告. 我将自动脚本编译到EXE中,并且我有一个启动EXE的调度程序. 问题在于,我需要一种将日期更改为12月,然后在1月等的方法...我该如何使用AutoIT进行操作?可以做到吗? 这就是ERP程序中日期的样子: 解决方案 您需要使用自动窗口信息工具首先检查程序:将目标图标拖动到您希望单击的提交 - 使用 ControlClick .让我们以Excel为例,它说标题是:" Book1- excel",
0 2024-03-21
编程技术问答社区
在VB 2010中运行AutoIt3脚本
我对此很陌生,所以如果我问一个愚蠢的问题,请原谅我. 我在2006年创建了一个计算底部孔压力的应用程序.基本上,它采用用户输入,调用称为Refprop的辅助应用程序,然后将重新Prop结果交给我的应用程序以继续计算.使用Autoit,我创建了一个带有用户输入的临时文件,另一个带有重新输出的临时文件.由于Refprop是CMD提示的应用程序,因此该过程非常简单. 现在,我将我包含在应用程序中的重建已过时,而新版本的GUI需要超过CMD提示.我想再次使用autoIt3,但是这次为用户输入创建一个temp excel文件,运行重新运行,创建温度输出文件并返回我的应用程序. 我现在无法在我的VB 2010环境中运行自动脚本. 我目前的计划是创建和编译自动脚本以使用用户输入打开和运行重新启动,但我不确定该如何确切解决... 有人知道最好的方法吗? 对此的任何帮助将不胜感激. 谢谢! 解决方案 实际上非常容易.查看自动脚本论坛和手册中的参考文献.首先使用录音并从
0 2024-03-21
编程技术问答社区
使用自动发出保存文件
我有一个应用程序,其中我将获得一个"保存为"对话框.有时,如果一个具有相同名称的文件,则显示另一个具有相同名称的对话框,显示为"与".以下是我编写的代码,但不按预期工作. Global $sTitle = "Save As" WinWait($sTitle) WinWaitActive($sTitle) ControlClick($sTitle, "Save", "[CLASS:Button; TEXT:&Save; INSTANCE:2]") ControlSetText($sTitle, "", "CLASS:Button; INSTANCE:2]", $file_name) SendKeepActive($sTitle) Send("{ENTER}") Sleep(4000) WinWaitActive($sTitle,"",3) If WinExists($sTitle, "No") Then Send("{ENTER}") If WinExists("Exit O
8 2024-03-21
编程技术问答社区
如何使用_IEFormElementRadioSelect而不去找一个表格
我需要此脚本来工作,但不使用_IEFormGetObjByName或_IEFormGetCollection,而仅知道无线电按钮的Name. $oIE = _IE_Example ("form") $oDoc = _IEDocGetObj($oIE) $oArray = $oDoc.getElementsByTagName ("input") For $element In $oArray If $element.Name = "radioExample" Then _IEFormElementRadioSelect ($oDoc,2, "radioExample", 1, "byIndex") msgbox(0,"","Found it") Endif Next _IEFormElementGetValue&_IEAction工作得很好,只需将它们引用$oElement,然后搜索适当的$element.Name,但是我无法让_ieformelemletrementRadio
0 2024-03-21
编程技术问答社区
可能的类似Autoit的JavaScript宏?
标题说明了一切.有没有办法在JavaScript中编写宏来实现与自动IT相似的功能?我只是想在自己的计算机(离线)上操纵文件,并且可以轻松地使用自动进行操作,但是由于我目前正在学习JavaScript - 计划在Node.js中开发 - 我认为获得该公司不会受到伤害额外的练习. 谢谢大家! 解决方案 使用支持JavaScript作为外壳脚本语言的应用程序,例如: powerchakra remotenodejs jscript + wsh qtscript:qscriptEngine 第一部分:如何为iOS和Android开发选择JavaScript引擎-OpenAphId -engine -ingine 其他解决方案 nodejs有一个自动事物的模块 - nodejs安装自动 var au = require('autoit'); au.Init(); au.Run("notepad.exe"); au.WinWait("[Class:
0 2024-03-21
编程技术问答社区
保持远程桌面会话的 "活力"
我正在使用自动启动来自动使用GUI操作(使用RDP连接运行待办事项应用的机器).每当我最大程度地减少RDP窗口(使用MREMOTE)时,都不会执行其他自动命令. 当我最小化窗口时,也许RDP会话标记为"非活动"(我不知道这是真的,也不知道如何配置此行为(如果是这样)).我正在考虑克服这两个选项: 作为一些高架用户(或服务)运行我的过程. 找到这种配置,该配置控制了会话是否被标记为无效并覆盖它. 当RDP窗口最小化时,如何保持远程桌面会话"活着"? 解决方案 我们与RDP遇到了同样的问题.我们使用的解决方法是打开另一个远程桌面会话以连接到同一服务器: 您连接到server rd. 从步骤1的rd开始,您再次连接到server. 当您最小化甚至断开第一个RD会话连接时,第二届会话仍将"活动".当然,您的远程桌面服务器必须支持来自同一用户的多个连接. 其他解决方案 您可能需要将当前的RDP会话连接到控制台.在这种情况下,即使断开连接后,UI仍将
2 2024-03-21
编程技术问答社区
选择一种Windows自动化脚本语言。AutoIt vs Autohotkey
我需要选择Windows自动化脚本语言.您推荐哪一个; autoit ,我已经阅读了" autoit/autohotkey比较".有趣的历史,但没有建议.搜索Google在 AutoHotkey Windows AutoHotkey Windows vs 482K for AutoIt Windows .在堆栈溢出上,有15个问题标记为我对您作为程序员的看法感兴趣.您认为哪一个更易于使用,在功能方面更容易使用,更强大?我已经使用autohotkey进行了个人用途,所以我最初的偏好是. 解决方案 我都使用了两者. Autohotkey非常擅长管理Hotkeys和基本的GUI自动化.它的语法是可怕的,并且不适合更大的应用. Autoit几乎具有Autohotkey拥有的所有功能,还有更多. COM-AUTOMATION支持,数组和一个不错的UDF(用户定义的功能)库.在自动上构建复杂的热键很难. 其他解决方案 我认为Autohotkey的GUI实现更容易像其许多命
20 2024-03-21
编程技术问答社区
当我使用IE10 windows8时,Autoit脚本不能从html页面中获取id值?
以下代码从IE9中的HTML代码获取值 $url = "https://190.198.14.15/" $formID = "" $formUID = "username" $uName = "admin" $formPID = "password" $pwd = "SeR^ER@iL0" $formSubmit = "ID_LOGON" ;Launch the Internet Explorer as a private session ShellExecute ("iexplore.exe", " -private about:blank", @programFilesDir & "\Internet Explorer\iexplore.exe", "open", @SW_MAXIMIZE) WinWait ("Blank Page") $oIE = _IEAttach ("about:blank", "url") ;Wait for the IE to launch _IEL
0 2024-03-20
编程技术问答社区
在特定的实际时间内自动启动脚本
如何在自动启用特定实际时间上运行脚本? 例如,我随时启动自动脚本,然后等到我的定义时间(例如01:00:00&02:00:00&...)触及到触点,然后恢复脚本并做我想要的任何事情. 对不起,我的语言很差. 解决方案 说您希望脚本在22:31:15蜂鸣: While 1 Sleep(250) If @HOUR == 22 And @MIN == 31 And @SEC == 15 Then Beep(500,500) EndIf WEnd 其他解决方案 以下代码设置不同的时间(多小时,多分钟和多秒)以执行您的脚本: HotKeySet('{F10}', '_exit') Func _exit() Exit EndFunc While 1 Global $bIsHour = False Global $bIsMinutes = False Global $bIsSeconds = False ;
0 2024-03-20
编程技术问答社区
我怎样才能将这段代码清理得更短?
我正在使用自动: $1 = GetItemBySlot(1, 1) $2 = GetItemBySlot(1, 2) $3 = GetItemBySlot(1, 3) $4 = GetItemBySlot(1, 4) $5 = GetItemBySlot(1, 5) 代码重复40行.我该如何缩短它? 解决方案 您可以使用 eval().. For $i = 1 To 5 Assign($i, GetItemBySlot(1, $i)) Next 那将是3行,而不是 n 线.在运行时,这将扩展到: Assign(1, GetItemBySlot(1, 1)) Assign(2, GetItemBySlot(1, 2)) Assign(3, GetItemBySlot(1, 3)) Assign(4, GetItemBySlot(1, 4)) Assign(5, GetItemBySlot(1, 5)) 要获取需要使用Eval函数的这
2 2024-03-20
编程技术问答社区
无法使用autoIT传#入我的密码
我使用selenium在Chrome中使用自动材料进行身份验证窗口.我的密码包含特殊字符,但#没有进入我的密码. 我的密码是" D#e $ r@2016" 任何人都可以帮忙. 解决方案 以下代码可能会有所帮助,#在自动中具有特殊含义.因此,应该使用牙套将其逃脱. 方法1:send(" D{#}e$r@2016") 如果将所有字符作为RAW发送,则将标志值设置为1.默认情况下,标志为0. 方法2:send(" D#e$r@2016",1)
0 2024-03-20
编程技术问答社区
Autoit-获取路径中所有文件的文件大小
im使用脚本在特定的特定文件中获取所有文件和dirs并生成结果的.txt文件,但是我需要使用filegetSize + bytesuffix function 添加每个文件的大小 #include #include Global Enum Step *2 $GETFILES_NOT_DIRECTORY, $GETFILES_NOT_EXISTS ; GetFiles @error Func G3tAllF1lesAndDirs($cpath, $txtname) Local $sFileList = '' GetFiles($sFileList, $cpath) ; This uses no global variable $sFileList = StringReplace($sFileList, '|', @CRLF) ; Re
0 2024-03-20
编程技术问答社区
autoit3无法将文本发送到虚拟机上的Windows浏览对话框
我有一台虚拟机(使用VMware,Inc.®vmware vcloud Director创建的Windows10 X64已安装了AutoIt3. 我在这台计算机上运行自动测试,该测试将在某个时候打开Windows浏览对话框,以将某些文件上传到网站. 我使用此自动脚本来处理此对话框: $files = "" For $i = 1 To UBound($CmdLine) - 1 $files &= '"' & $CmdLine[$i] & '" ' Next WinWait("[REGEXPTITLE:(Open|Upload)]") Send($files) Send("{ENTER}") 这就是我通过Java executer在虚拟机上运行脚本的方式: cmd.exe /C start "WATT_AutoIt" AutoIt3.exe C:\autoIT\uploadFiles.au3 "C:\Scanning_autotest_fil
2 2024-03-20
编程技术问答社区
如何将用户名和密码发送到网页上,而不是以表格形式发送?
我正在尝试通过自动脚本将用户名和密码发送到Web应用程序. $oIE.document.getElementsByName($formUID).Item(0).value = $Name $oIE.document.getElementById($formPID).value = $pwd 上面的这些功能在Windows 7中起作用,但在Windows 8和IE 10中不起作用.有人可以帮助我吗?这非常重要. 解决方案 如果这些字段具有ID或名称,则应使用 Local $oUsername = _IEGetObjById($oIE, "Username") ; _IEGetObjById or _IEGetObjByName $oUsername.value = "myusername" 如果他们没有,那么您可以列出所有元素并对它们进行比较. 您可以使用: $oInput.type $oInput.Id $oInput.name $oInput.clas
4 2024-03-20
编程技术问答社区
Pyinstaller OSError: 无法加载AutoItX
我使用了import autoit.该脚本从VSCODE和控制面板完美地运行.但是,在使用Pyinstaller的可执行文件时,当我运行.exe文件时,我会收到此错误消息: pyinstaller --hidden-import=autoit --onefile run.py无效.如何绕过这个问题? 解决方案 1)从地址复制文件( autoitx3_x64.dll ) C:\Users\alire\AppData\Local\Programs\Python\Python39\Lib\site-packages\autoit\lib\ 项目中的构建文件夹( autoit \ lib ),并在那里复制文件 其他解决方案 搜索了一段时间,我找到了有关问题的解决方案. 我发现工作的解决方案是使用cmd. 1)我使用此命令来定义文件的路径: cd C:\Users\bilakos\Desktop\PYTHON_PROJECTS\BOT 2)然后我
6 2024-03-20
编程技术问答社区