我的百度空间 我的51CTO空间 我的163空间

[au3]设置环境变量

设置一些环境变量,方便自己。
;by onepc 153785587
#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\2011-8-3\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)
WEnd

Func Button1Click()
_FileSF()
EndFunc
Func Button3Click()
GUICtrlSetState($Button3,$GUI_DISABLE)
_SetEnv()
;Sleep(2000)
GUICtrlSetState($Button3,$GUI_ENABLE)
EndFunc
Func Button4Click()
Exit
EndFunc
Func Form1Close()
Exit
EndFunc

Func _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.jar;%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"
Else
$path = $path & ";%JAVA_HOME%\bin"
EndIf
RegWrite($regenv, "path", "REG_EXPAND_SZ", $path)
EndIf
$tomcat = GUICtrlRead($Input3)
If $tomcat = "" Then
Return
EndIf
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
Return
EndIf
$len = StringLen($tomcat)
If StringMid($tomcat, $len, 1) = ";" Then
$tomcat = $tomcat & "%CATALINA_HOME%\lib\servlet-api.jar"
Else
$tomcat = $tomcat & ";%CATALINA_HOME%\lib\servlet-api.jar"
EndIf
RegWrite($regenv, "classpath", "REG_EXPAND_SZ", $tomcat)
DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0)
EnvUpdate()
EndFunc ;==>_SetEnv

Func _FileSF()
Local $var = FileSelectFolder("选择tomcat所在文件夹.", "", 1)
GUICtrlSetData($Input3, $var)
EndFunc ;==>_FileSF

Func _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)
Return
Else
GUICtrlSetState($Checkbox1, $GUI_CHECKED)
EndIf
$javapath = RegRead($javaRegVer & "\" & $version, "JavaHome")
GUICtrlSetData($Input1, $version)
GUICtrlSetData($Input2, $javapath)
EndFunc ;==>_LoadVersion

Func _CmpEnvValue($test,$pattern) ;1 表示匹配 0 没有匹配 搜索是否已设置过环境变量。
Return StringRegExp($test,"(?i)" & $pattern,0)
EndFunc

 

posted on 2012-01-10 14:54  心若冰清  阅读(1630)  评论(0编辑  收藏  举报

导航