我想知道,用批处理的方式电脑开机就打开软件,然后想要捕捉软件里面的按钮是怎么做到的,因为也没具体学过批处理,没有具体的方式去查询资料。
望采纳!!!点击回答右侧采纳即可!!
我给点建议可以使用Windows自带的脚本语言,如VBScript或PowerShell,编写一个脚本,在脚本中使用SendKeys函数来模拟按键操作,从而实现自动捕捉软件里面的按钮。
Windows开机自启动其实是有一个特定的系统文件夹和注册表,每次启动系统就会执行这个文件夹和注册表里的程序。
开机自启文件夹默认是这个路径:"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp",这个是公共路径,还有用户的私有自启动路径如下:“C:\Users\<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”,只要把想开机自启的程序或它的快捷方式拷贝到这个文件夹里即可实现开机自启动了。Java可以用File.copy()方法。用.bat批处理可以用命令copy <源文件路径> <目标路径>
,但要注意,开机自启路径包含空格,所以路径要用双引号括起来:copy .\run.bat "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"
。
也可以用注册表(木马最爱,我记得注册表自启动路径好像有好几个。随便抽一个:“\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”,还有另外几个属于文件资源管理器还有其他的之类的。要修改注册表可以用.bat批处理的REG命令,示例:REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Name /t REG_SZ /d D:\run.bat /f
,其中,REG代表注册表命令,ADD代表在注册表中添加项,下一长串是注册表路径(这里为开机自启路径),/v代表接下来输入新项的名称,/t代表接下来输入新项的类型,/d代表接下来输入新项的值(这里是要自启的程序的路径),最后尾随一个/f代表不提示直接覆盖同名的旧项。至于Java,除非用第三方库,否则似乎只能用“Runtime.getRuntime().exec()”调用批处理命令了。