找回密码
 加入
搜索
查看: 1538|回复: 4

请问AU3能不能写入按任意键继续

[复制链接]
发表于 2009-4-25 15:03:57 | 显示全部楼层 |阅读模式
本帖最后由 hooshen 于 2009-4-30 15:33 编辑

我做的装机工具盘,原来是用DOS批处理写的系统设置命令,如:
@echo off
@ ECHO.
@ ECHO.
@ ECHO.                              说    明
@ ECHO --------------------------------------------------------------------
@ ECHO 本批处理用于系统安装完毕,进行显示、音频、网络等属性的快速设置。
@ ECHO.
@ ECHO         欢迎使用本批处理!        制作:hooshen  QQ:510157120
@ ECHO -------------------------------------------------------------------
@ ECHO.
pause
echo 正在设置OEM信息,请稍等......
copy /y oem\oeminfo.ini C:\WINDOWS\system32
copy /y oem\OEMLOGO.BMP C:\WINDOWS\system32
echo OEM信息设置完成!
echo. & pause
echo 正在设置显示属性,请稍等......
control desktop
echo 显示属性设置完成!
echo. & pause
echo 正在设置电源选项属性,请稍等......
powercfg.cpl
echo 电源选项属性设置完成!
echo. & pause
echo 正在设置网络连接,请稍等......
control netconnections
echo 网络连接设置完成!
echo. & pause
echo 正在运行新建连接向导,请稍等......
新建连接向导.exe
echo 新建连接向导设置完成!
echo. & pause
echo 正在设置IE主页为www.hao123.com,请稍等......
@reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /d "http://www.hao123.com/" /f
echo IE主页设置完成!
echo. & pause
echo 正在设置Internet属性,请稍等......
inetcpl.cpl
echo Internet属性设置完成!
echo. & pause
echo 正在设置音频属性,请稍等......
mmsys.cpl
echo 音频属性设置完成!
echo. & pause
echo 正在调试麦克风,请稍等......
%SystemRoot%\system32\sndrec32.exe
echo 麦克风调试完成!
echo. & pause

现在想改用AU3写,但AU3中不知道用什么函数来暂停脚本的运行,等待用户设置,
后来我加入了MsgBox,如:
ToolTip(@CR & "  正在设置显示分辨率 " & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait("设置显示分辨率.exe")
MsgBox(0, "设置显示分辨率", "请于设置完毕后点击确定")

ToolTip(@CR & "  正在设置屏幕保护 " & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait("设置屏幕保护.exe")
MsgBox(0, "设置屏幕保护", "请于设置完毕后点击确定")
但觉得这样太烦琐,
请问各位大侠,有没有更好的方法
发表于 2009-4-27 16:12:54 | 显示全部楼层
如你的例子
你可以检测“设置显示分辨率”窗口是否存在,若不存在则执行“设置屏幕保护”
 楼主| 发表于 2009-4-27 16:40:57 | 显示全部楼层
好像是个办法,我再试试
发表于 2009-4-30 00:17:54 | 显示全部楼层
RunWait("设置显示分辨率.exe")  

本来就是暂停脚本直到"设置显示分辨率.exe"完成并结束啊

所以根本就不需要msgbox了
 楼主| 发表于 2009-4-30 15:29:06 | 显示全部楼层
本帖最后由 hooshen 于 2009-4-30 15:30 编辑

RunWait("设置显示分辨率.exe")  
是暂停脚本直到"设置显示分辨率.exe"完成并结束
但由于"设置显示分辨率.exe"需要手动操作,所以还没等到用户设置完毕,后面的命令就开始执行了,
不过现在我已经解决了,代码如下:

;修改计算机的OEM信息,制作一个自解压文件oem.exe,解压到c:/windows/system32.

ToolTip(@CR & "    "&"  正在设置OEM信息,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait("oem.exe")

;打开设置显示分辨率窗口,并等待用户设置完毕再关闭窗口.
;这里我加入了winwaitclose,这样就可以等待用户关闭窗口,再执行下一个命令.

ToolTip(@CR & "    "&"  正在设置显示分辨率,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait(@comspec & " /c rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3","",@sw_hide)
WinWaitClose("显示 属性","")

ToolTip(@CR & "    "&"  正在设置电源选项属性,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait(@comspec & " /c rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl","",@sw_hide)
WinWaitClose("电源选项 属性","")

ToolTip(@CR & "    "&"  正在设置网络连接,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait(@comspec & " /c rundll32.exe shell32.dll,Control_RunDLL ncpa.cpl","",@sw_hide)
WinWaitClose("网络连接","")

;这里的"新建连接向导.exe"是自动运行的,所以没有用winwaitclose

ToolTip(@CR & "    "&"  正在运行新建连接向导,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait("新建连接向导.exe")

;这里的"设置Internet属性.exe"是也自动运行的,所以没有用winwaitclose

ToolTip(@CR & "    "&"  正在设置Internet属性,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait("设置Internet属性.exe")

ToolTip(@CR & "    "&"  正在设置音量属性,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait(@comspec & " /c rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0","",@sw_hide)
WinWaitClose("声音和音频设备 属性","")

ToolTip(@CR & "    "&"  正在调试麦克风,请稍等...... "&"    "& @CR&"      制作:hooshen  QQ:510157120" & @CR, @DesktopWidth-260,@DesktopHeight-100)
RunWait(@comspec & " /c %SystemRoot%\system32\sndrec32.exe","",@sw_hide)
WinWaitClose("声音 - 录音机","")
Exit

这段码主要是用于东海9.0系统安装完毕进行的一些基本的设置,
原来是用批处理写的,感觉那个黑框很不好看,而且,执行一段,要按一次任意键,
一直想用AU3改写,只是个人水平有限,一直写不好,
上次写的加入msgbox来暂停脚本,后来发现用winwaitclose更好,
没有多余的提示,又不用点击"确定"或按任意键,比批处理写的更好用,
感谢各位大侠提供的思路,并向各位大侠虚心学习!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-21 00:21 , Processed in 0.072383 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表