AU3问题向老外请教问题GUI程序操作

随笔 - 31, 文章 - 0, 评论 - 8, 引用 - 0
设置一些环境变量,方便自己。
#include &ButtonConstants.au3&#include &EditConstants.au3&#include &GUIConstantsEx.au3&#include &StaticConstants.au3&#include &WindowsConstants.au3&Opt("GUIOnEventMode", 1)#Region ### START Koda GUI section ### Form=F:\myziliao\\au3\setenv\Form1.kxf$Form1 = GUICreate("Set Java Env", 337, 200, -1, -1)GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")$Group1 = GUICtrlCreateGroup("Java InFo", 8, 8, 313, 81)$Label1 = GUICtrlCreateLabel("Version:", 20, 34, 50, 17)$Label2 = GUICtrlCreateLabel("JdkPath:", 20, 58, 46, 17)$Input1 = GUICtrlCreateInput("", 72, 32, 153, 21)$Checkbox1 = GUICtrlCreateCheckbox("是否安装", 240, 32, 73, 17)$Input2 = GUICtrlCreateInput("", 72, 56, 233, 21)GUICtrlCreateGroup("", -99, -99, 1, 1)$Group2 = GUICtrlCreateGroup("Tomcat Path", 8, 96, 313, 65)$Input3 = GUICtrlCreateInput("", 24, 120, 249, 21)$Button1 = GUICtrlCreateButton("...", 280, 118, 35, 25)GUICtrlSetOnEvent(-1, "Button1Click")GUICtrlCreateGroup("", -99, -99, 1, 1)$Button3 = GUICtrlCreateButton("SET", 72, 168, 75, 25)GUICtrlSetOnEvent(-1, "Button3Click")$Button4 = GUICtrlCreateButton("EXIT", 160, 168, 75, 25)GUICtrlSetOnEvent(-1, "Button4Click")_LoadVersion()GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###While 1
Sleep(100)WEndFunc Button1Click()_FileSF()EndFuncFunc Button3Click()
GUICtrlSetState($Button3,$GUI_DISABLE)
_SetEnv()Sleep(2000)
GUICtrlSetState($Button3,$GUI_ENABLE)
EndFuncFunc Button4Click()
ExitEndFuncFunc Form1Close()
ExitEndFuncFunc _SetEnv()
Local $JAVA_HOME, $classpath, $path, $len
Local $tomcat
Local $regenv = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
$JAVA_HOME = GUICtrlRead($Input2)
RegWrite($regenv, "JAVA_HOME", "REG_EXPAND_SZ", $JAVA_HOME)
$classpath = ".;%JAVA_HOME%\lib\dt.%JAVA_HOME%\lib\tools.jar"
RegWrite($regenv, "classpath", "REG_EXPAND_SZ", $classpath)
$path = EnvGet("path")
$len = StringLen($path)
If StringMid($path, $len, 1) = ";" Then
$path = $path & "%JAVA_HOME%\bin"
$path = $path & ";%JAVA_HOME%\bin"
RegWrite($regenv, "path", "REG_EXPAND_SZ", $path)
$tomcat = GUICtrlRead($Input3)
If $tomcat = "" Then
RegWrite($regenv, "CATALINA_HOME", "REG_EXPAND_SZ", $tomcat)
RegWrite($regenv, "CATALINA_BASE", "REG_EXPAND_SZ", $tomcat)
RegWrite($regenv, "TOMCAT_HOME", "REG_EXPAND_SZ", $tomcat)%CATALINA_HOME%\lib\servlet-api.jar
$tomcat = RegRead($regenv, "classpath")MsgBox(0,"",$tomcat)
If $tomcat = "" Then
$len = StringLen($tomcat)
If StringMid($tomcat, $len, 1) = ";" Then
$tomcat = $tomcat & "%CATALINA_HOME%\lib\servlet-api.jar"
$tomcat = $tomcat & ";%CATALINA_HOME%\lib\servlet-api.jar"
RegWrite($regenv, "classpath", "REG_EXPAND_SZ", $tomcat)
DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0)
EnvUpdate()EndF==&_SetEnvFunc _FileSF()
Local $var = FileSelectFolder("选择tomcat所在文件夹.", "", 1)
GUICtrlSetData($Input3, $var)EndF==&_FileSFFunc _LoadVersion()
Local $version, $javapath
Local $javaRegVer = "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
$version = RegRead($javaRegVer, "CurrentVersion")
If $version = "" Then
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
GUICtrlSetState($Checkbox1, $GUI_CHECKED)
$javapath = RegRead($javaRegVer & "\" & $version, "JavaHome")
GUICtrlSetData($Input1, $version)
GUICtrlSetData($Input2, $javapath)EndF==&_LoadVersionFunc _CmpEnvValue($test,$pattern) ;1 表示匹配 0 没有匹配 搜索是否已设置过环境变量。
Return StringRegExp($test,"(?i)" & $pattern,0)EndFunc[已解决]新手 au3 用GUI百度一下
输入框文字 如何加入 按钮搜索 - 已解决问题区 - 『 提问交流 』 -
AUTOIT CN AutoIt中文论坛|acn|au3|软件汉化 - 分享您的技术!
帖子179&精华0&积分154&威望16 点&金钱26 块&贡献32 分&阅读权限20&在线时间42 小时&注册时间&最后登录&
[已解决]新手 au3 用GUI百度一下
输入框文字 如何加入 按钮搜索
本帖最后由 mshuking 于
11:00 编辑
新手 au3 用GUI百度一下&&输入框文字 如何加入 按钮搜索#include &ButtonConstants.au3&
#include &EditConstants.au3&
#include &GUIConstantsEx.au3&
#include &WindowsConstants.au3&
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate(&百度一下&, 367, 42, 289, 241)
$Input1 = GUICtrlCreateInput(&百度一下&, 8, 8, 257, 21)
$Button1 = GUICtrlCreateButton(&百度一下&, 280, 8, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
& & & & $nMsg = GUIGetMsg()
& & & & Switch $nMsg
& & & & & & & & Case $GUI_EVENT_CLOSE
& & & & & & & & & & & & Exit
& & & & & & & & Case $Button1
& & & & & & & & & & & & ShellExecute(&/s?wd=& & GUICtrlRead($Input1))
& & & & EndSwitch
WEnd复制代码
帖子8706&精华0&积分16228&威望826 点&金钱103647 块&贡献10223 分&阅读权限150&在线时间3235 小时&注册时间&最后登录&
ShellExecute(&/s?wd=& & GUICtrlRead($Input1))复制代码
帖子179&精华0&积分154&威望16 点&金钱26 块&贡献32 分&阅读权限20&在线时间42 小时&注册时间&最后登录&
afan 发表于
非常感谢!
[通过 QQ、MSN 分享给朋友]AU3 7z 显示进度问题 5分悬赏_百度知道
AU3 7z 显示进度问题 5分悬赏
如何调用7z.exe解压根目录下的abc.7z,然后实时读取7z解压进度在中显示?像万能驱动助理解压驱动那样。请写下代码。窗体:#include &GUIConstantsEx.au3&#include &ProgressConstants.au3&#include &StaticConstants.au3&#include &WindowsConstants.au3&#Region ### START Koda GUI section ### Form=$Form5 = GUICreate(&解压程序&, 402, 124, 314, 168)$Progress1 = GUICtrlCreateProgress(0, 96, 401, 17)$Label1 = GUICtrlCreateLabel(&进度:&, 0, 72, 40, 17)$Label2 = GUICtrlCreateLabel(&解压中。。。&, 144, 珐怠粹干诔妨达施惮渐32, 76, 17)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitchWEnd
提问者采纳
解压及显示进度条的示例代码如下:Const&$zi珐怠粹干诔妨达施惮渐pFile&=&abc.7zGlobal&$i&=&0ProgressOn(&进度条&,&&解压进度&,&&0&%&)AdlibRegister(&showProgress&,&1000)ShellExecuteWait(&C:\Program&Files\7-Zip\7z.exe&,&&e&&&&&$zipFile&&&&&-y&)AdlibUnRegister(&showProgress&)ProgressSet(100,&&100&%&)Sleep(500)ProgressOff()Func&showProgress()&&&$i&+=&2&&&ProgressSet($i,&$i&&&&&%&)&&&If&$i&=&100&Then&AdlibUnRegister(&showProgress&)EndFunc7z.exe命令行没提供解压进度,你可以自己搞个假的进度,差不多就行。用AdlibRegister注册一个函数,在ShellExecuteWait执行的过程中专门用于画进度条,上述代码为每秒更新一次进度显示。
提问者评价
其他类似问题
au3的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您的位置: >
AutoIt(Au3程序开发工具) v3.3.10.2 官方版下载
AutoIt(Au3程序开发工具) v3.3.10.2 官方版
论坛转帖:
分&享&到:
AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。
AutoIt 最初是为PC(个人电脑)的&批量处理&而设计,用于对数千台PC进行(同样的)配置,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本。
AutoIt 可以做的事:
执行 Windows 及 DOS 下的可执行文件 模拟击键动作(支持大多数的键盘布局) 模拟鼠标移动和点击动作。 对窗口进行移动、调整大小和其它操作。 直接与窗口的&控件&交互(设置/获取 文字、移动、关闭,等等) 配合剪贴板进行剪切/粘贴文本操作 对注册表进行操作
不同于 AutoIt v2,新的v3版本含有更多的标准语法&&类似于VBScript和BASIC&&而且现在支持更复杂的表达式、用户函数、循环以及脚本编写老手们所期待的其它所有内容。
正如前一个版本一样,AutoIt 被设计得尽可能小,并且不用依赖外部DLL文件或添加注册表项目即可独立运行。使用 Aut2Exe 这个工具即可把脚本文件编译为可独立运行的文件。
此外我们还更新了 AutoIt 的 ActiveX 和 DLL 版本&&AutoItX ,与v2版本不同的是,这是个组件化的语言(COM 同一DLL文件中的标准DLL函数)。AutoItX 将使得您可以加入一些AutoIt 独有的特性到您最常用的脚本语言或程序设计语言中去!请查看 AutoItX 的帮助文档(开始 \ 所有程序 \ AutoIt v3 \ Extras \ AutoItX \ AutoItX Help File)以获得更多信息和示例。
最重要的是,AutoIt 将继续是免费的!
点击链接开始下载au3不能用系统变量,怎么办???_百度知道
au3不能用系统变量,怎么办???
%programfiles%&#92!au3里边;ff?,而是你当前文件夹\&ff\)创建的文件夹不是系统盘\
,怎么使用系统变量;program files&#92!;ff\%programfiles%&#92DirCreate (&quot
提问者采纳
; & @ScriptName @ScriptLineNumber 当前执行的脚本行号. 只是使用 event 函数时有效: StringR.0, &quot,如须得到完整路径. @LogonServer 登录服务器,(例,比如你这句代码.详情请查看 附录 里面的值;X86&quot.一般来说;启动) @StartupDir 当前用户的 启动 目录所在路径 @SW_DISABLE 屏蔽(禁用)指定窗口
@SW_ENABLE 恢复指定窗口(使其重新可用). 参见 SetError 函数. @CommonFilesDir Common Files 文件夹路径 @Compiled 脚本已经编译;.若不存在则返回 0. (已经编译的脚本中没意义) @ScriptName 当前运行的脚本的长文件名. @ProgramsCommonDir 「开始」菜单&#92.未编译. @AutoItVersion AutoIt 版本号;WIN32_NT&. @DesktopCommonDir 公共 Desktop 文件夹路径(桌面) @DesktopDir 当前用户 Desktop 文件夹路径(桌面) @DesktopHeight 桌面高度(像素) (垂直分辨率) @DesktopWidth 桌面宽度(像素) (水平分辨率) @DesktopDepth 像素颜色位深度(如32 Bit). @IPAddress1 第一个网络适配器的 IP 地址@AppDataCommonDir 公共 Application Data 文件夹所在路径 @AppDataDir 当前用户 Application Data 文件夹所在路径 @AutoItExe 当前脚本的完整路径;X86&quot.一般来说;) @ScriptFullPath 等价于 @ScriptDir & &quot.
@SW_SHOWNA 令指定窗口根据其当前大小和位置信息显示.(主要用于确定系统所在分区) @HomePath 当前用户主目录所在位置. 已经编译的文件返回EXE文件所在完整路径,值的范围是 00 ~ 23 @HotKeyPressed 最后按下的热键:C. @NumParams 调用用户函数的参数数量;. 只是使用 event 函数时有效.0,返回1, 指定的第二个命令解释程序,程序在启动应用程序时需指定该值. @FavoritesCommonDir 公共 Favorites 文件夹路径 @FavoritesDir 当前用户的 Favorites 文件夹路径 @GUI_CtrlId 最后点击的控件标识(Control ID). 只是使用 event 函数时有效,返回1. @LogonDomain 登录域, &All Users&#92. @OSVersion 返回如下值中的一个.0.2:\. @GUI_DragFile 拖动文件(到控件)的文件名;返回 &quot. @exitCode 退出代码 @exitMethod 退出方法: &quot. @TrayIconVisible 如果托盘图标为可见状态;「开始」菜单) @StartMenuDir 当前用户的 「开始」菜单目录所在路径 @StartupCommonDir 公共用户的 启动 目录所在路径(例;WINDOWS&#92,如;Service Pack 3&quot,应该这么写才对DirCreate (@ProgramFilesDir&&quot. Run(@ComSpec & &quot. @SW_MINIMIZE 最小化指定窗口并激活下一个在Z轴(垂直屏幕)方向上的顶层窗口. @extended 扩展的函数返回值. @HOUR 当前时钟的时值(24时制). 只是使用 event 函数时有效,返回 0;. 只是使用 event 函数时有效. @TrayIconFlashing 如果托盘图标为闪烁状态;\程序 目录所在路径(例.
@SW_SHOWNOACTIVATE 令指定窗口以其上一次的大小和位置显示. 参考 @OSLang 代码 得到这些值. @GUI_WinHandle 最后点击的GUI窗口句柄(GUI window handle), &,返回 0;主要用于命令行使用;\「开始」菜单&#92:Windows 2003 Server 返回的是 3790 @OSLang 返回表示操作系统语言的代号.(如75 HZ)
@DocumentsCommonDir 公共 Documents 文件夹路径(我的文档) @error 错误标识:&#92: C,请使用 @HomeDsystem32) @TAB Tab 字符. @COM_EventObj 对象 COM 事件正在激发;All Users\,包含当前用户主目录.0.0, &quot: C. 见 附录 可能存在的值;2008R2 的 &quot,使用于一些特定函数;WIN_2008&quot:&#92. @SystemDir Windows 下的 System (或System32)文件夹所在路径(例, Chr(13);程序目录所在路径(例;2000&#47.与 @SW_SHOWMINIMIZED 不同之处在于该窗口将不被激活,允许窗口被重画;All Users\. @ProgramFilesDir 返回 Program Files 文件夹路径. @UserName 当前登录的用户的名称:C. 请参考 GUICtrlSetOnEvent 函数: &quot,应用程序在首次显示窗口时应该应用此标志, &IA64&quot. @ComputerName 当前计算机的名称;WIN_2008R2&quot.12 @AutoItX64 如果脚本运行在AutoIt x64版.
@SW_SHOW 激活指定窗口并使其以当前大小和位置信息显示;) @CPUArch 返回 &X64&quot,则表明 CPU 为32位.若不存在则返回 0.3;Vista&#47. @WindowsDir Windows 文件夹 所在路径;Documents and Settings\ 用于换行. (01 到 31) @MIN 当前的分钟数(00 到 59) @MON 当前月份(01 到 12) @MSEC 当前时钟毫秒值.
@SW_SHOWNORMAL 激活并显示指定窗口.与 @SW_SHOWNORMAL 不同之处在于该窗口将不被激活;&程序&#92. @LF 换行.与 @SW_SHOW 不同之处在于该窗口将不被激活;Documents and Settings&#92, 则表明 CPU 为 64位;「开始」菜单\All Users\WIN_2000&quot,依次表示星期天到星期六;;WIN_7&quot,应用程序在还原一个最小化窗口时应该应用此标志,进入下一行. @SW_RESTORE 激活并显示指定窗口;WIN_XP&quot. @LogonDNSDomain 登录 DNS 域. @SEC 当前时钟的秒值.(不包含盘符);,返回语言代码标志 (Vista 是很好的默认值).范围为(00 到 999) @MUILang 如果提供多语种.在某些电脑上可能会返回 127.
@SW_SHOWMINIMIZED 激活并最小化指定窗口. @SW_HIDE 隐藏指定窗口并激活其它窗口. @UserProfileDir 返回当前用户的 Profile 文件夹路径.
@DesktopRefresh 屏幕刷新率.1 @IPAddress2 第二个网络适配器的 IP 地址.0. 请参考 GUICtrlSetOnEvent 函数. @SW_SHOWDEFAULT 设置显示状态(SW_值). @HomeShare 服务器和共享名称;「开始」菜单&#92. @CRLF @CR 和 @LF .
@SW_SHOWMINNOACTIVE 最小化显示指定窗口,AU3里称为宏,用于 TraySet(Item)OnEvent 函数. @WDAY 指示当天属该周的第几天; @OSType 返回 NT&#47,返回0. 请参考 GUICtrlSetOnEvent 函数, &quot. @SW_MAXIMIZE 最大化指定窗口,值域为 00 ~ 59 @StartMenuCommonDir 公共用户「开始」菜单 目录所在路径(例.若不存在则返回 0. @OSBuild 返回操作系统的内部标号(build号). 请参考GUICtrlSetOnEvent 函数; 反之;&quot. @GUI_DragId 拖动控件标识(Control ID).
@SW_UNLOCK 取消锁定窗口. @MyDocumentsDir 我的文档的路径. (不包含反斜杠符号&quot:&#92,则返回 1;WIN_VISTA&quot. 请参考 GUICtrlSetOnEvent 函数, &激活的工作目录(不包括结尾的反斜杠符号) @YDAY 指示当天属该年的第几天;X64&\程序)公共用户 @ProgramsDir 「开始」菜单&#92,比如&quot:&#92.如.0 @IPAddress3 第三个网络适配器的 IP 地址, Chr(9) @TempDir 临时文件夹路径 @TRAY_ID 最后点击的项目标识(item identifier), 如. 在调试循环语句是非常有用. 只是使用 event 函数时有效,为以下值之一. 参见 OnAutoItExit() 函数,如果该窗口已最小化或最大化则以其原始大小和位置还原, &quot. @SW_SHOWMAXIMIZED 激活并最大化指定窗口;.0;2008&#47. 请参考 GUICtrlSetOnEvent 函数,值域为 1 ~ 366(若不是闰年则为365) @YEAR 当前年份(4位数) AU3使用的是自己的系统变量,如果该窗口已最小化或最大化则以其原始大小和位置还原; &#47. @ComSpec %comspec%的值;2003&#47,值域为 1 ~ 7. @SW_LOCK 锁定窗口, Chr(10);Documents and Settings&#92:&#92. @GUI_CtrlHandle 最后点击的控件句柄(Control handle). @HomeDrive 当前用户主目录所在的驱动器号;WINDOWS) @WorkingDir 当前&#47.0 @KBLayout 返回当前键盘布局的 代号.0;WIN_2003&quot. @CR 回车符. @MDAY 当前是一月中的第几天.0 @IPAddress4 第四个网络适配器的 IP 地址. @GUI_DropId (拖动后)放下控件标识(Control ID);用于换行,仅对 COM 事件函数有效; 反之. 参考 HotKeySet 函数,如 3:C;WIN_XPe&XP&#47: C;程序) 当前用户 @ScriptDir 脚本所在目录. @OSArch 返回当前运行的操作系统结构类型;Documents and Settings&#92. @OSServicePack 系统已安装的Service pack信息,避免被重画,返回1, @HomePath, &ff\&k help | more& 代表用户行中断; 值;Win7&#47. @AutoItPID 当前运行脚本的进程 PID
其他类似问题
au3的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 moto请教您一个问题 的文章

 

随机推荐