#include <GUIConstantsEx.au3>
#include <FileConstants.au3>
Local $hGUI = GUICreate("Запись в реестр на autoit")
GUICtrlCreateLabel("Тип ключа реестра", 10, 0)
Local $idInput_1 = GUICtrlCreateInput("REG_SZ", 10, 25, 300, 20)
GUICtrlCreateLabel("Значение ключа реестра", 10, 50)
Local $idInput_2= GUICtrlCreateInput("Приветствую", 10, 75, 300, 20)
GUICtrlCreateLabel("Путь к ключу реестра", 10, 105)
Local $idInput_3= GUICtrlCreateInput("HKEY_CURRENT_USER\Software\Test", 10, 125, 300, 20)
GUICtrlCreateLabel("Имя ключа реестра", 10, 150)
Local $idInput_4= GUICtrlCreateInput("TestKey", 10, 175, 300, 20)
Local $idOK = GUICtrlCreateButton("Записать ключ", 10, 200, 85, 25)
Local $idDelete = GUICtrlCreateButton("Удалить ключ", 110, 200, 85, 25)
Local $idMenu = GUICtrlCreateMenu("Дополнительные функции программы")
Local $idSubMenu = GUICtrlCreateMenuItem("Создать скрипт записи ключа реестра", $idMenu )
Local $idSubMenu_2 = GUICtrlCreateMenuItem("Проверка существования ключа реестра", $idMenu )
Local $idSubMenu_3 = GUICtrlCreateMenuItem("Проверка основного раздела реестра", $idMenu )
Local $idSubMenu_4 = GUICtrlCreateMenuItem("Путь к ключу реестра без основного раздела реестра", $idMenu )
Local $idSubMenu_5 = GUICtrlCreateMenuItem("Замена основного раздела реестра", $idMenu )
Local $idSubMenu_6 = GUICtrlCreateMenuItem("Установка основных типов ключей", $idMenu )
Local $idSubMenu_7 = GUICtrlCreateMenuItem("Создать умолчательный конфиг", $idMenu )
Local $idSubMenu_8 = GUICtrlCreateMenuItem("Загрузить настройки конфига", $idMenu )
Local $idSubMenu_9 = GUICtrlCreateMenuItem("Экспортировать ветку реестра в файл", $idMenu )
Local $idSubMenu_10 = GUICtrlCreateMenuItem("Проверка ветки в файле реестра", $idMenu )
GUISetState(@SW_SHOW, $hGUI)
While 1
$msg =GUIGetMsg()
if $msg= $idOK then
$text_1 = GUICtrlRead($idInput_1)
$text_2 = GUICtrlRead($idInput_2)
$text_3 = GUICtrlRead($idInput_3)
$text_4 = GUICtrlRead($idInput_4)
RegWrite($text_3 , $text_4 , $text_1, $text_2 )
endif
if $msg= $idDelete then
$text_1 = GUICtrlRead($idInput_1)
$text_2 = GUICtrlRead($idInput_2)
$text_3 = GUICtrlRead($idInput_3)
$text_4 = GUICtrlRead($idInput_4)
If MsgBox(36, 'Сообщение', 'Действительно удалить ключ?') = 6 Then
MsgBox(0, 'Сообщение', 'Ключ реестра удалён ' &$text_3 & "\" &$text_4)
RegDelete($text_3 , $text_4)
Else
MsgBox(0, 'Сообщение', 'Отмена удаления ключа реестра '&$text_3 & "\" &$text_4)
EndIf
endif
if $msg= $idSubMenu then
$hFile = FileOpen("test.au3", 2)
If $hFile = -1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
Exit
EndIf
$text_1 = '"' & GUICtrlRead($idInput_1) & '"'
$text_2 = '"' & GUICtrlRead($idInput_2) & '"'
$text_3 = '"' & GUICtrlRead($idInput_3) & '"'
$text_4 = '"' & GUICtrlRead($idInput_4) & '"'
FileWrite($hFile, "RegWrite(" & $text_3 & "," & $text_4 & "," & $text_1 & "," & $text_2 & ")")
endif
if $msg= $idSubMenu_2 then
$testkey= RegRead(GUICtrlRead($idInput_3), GUICtrlRead($idInput_4))
if @error then
msgbox(0,"Сообщение","Ключ не найден")
Else
msgbox(0,"Сообщение","Ключ найден")
endif
endif
if $msg= $idSubMenu_3 then
Local $arr[5]
$arr[0] = "HKEY_CLASSES_ROOT"
$arr[1] = "HKEY_CURRENT_USER"
$arr[2]="HKEY_LOCAL_MACHINE"
$arr[3] ="HKEY_USERS"
$arr[4] ="HKEY_CURRENT_CONFIG"
Local $text = GUICtrlRead($idInput_3)
for $i = 0 to 4
Local $iPosition = StringInStr($text , $arr[$i])
if $iPosition = 1 Then
msgbox(0,"Сообщение","Действительно в пути к ключу реестра имеется основный раздел " & $arr[$i])
ExitLoop
EndIf
next
endif
if $msg= $idSubMenu_4 then
Local $arr[5]
$arr[0] = "HKEY_CLASSES_ROOT"
$arr[1] = "HKEY_CURRENT_USER"
$arr[2]="HKEY_LOCAL_MACHINE"
$arr[3] ="HKEY_USERS"
$arr[4] ="HKEY_CURRENT_CONFIG"
Local $text = GUICtrlRead($idInput_3)
for $i = 0 to 4
Local $iPosition = StringInStr($text , $arr[$i])
if $iPosition = 1 Then
$len = StringLen($arr[$i])+1
$path = StringMid($text,$len,StringLen($text))
msgbox(0,"Сообщение","Путь к ключу реестра без основного раздела " & $path)
ExitLoop
EndIf
next
endif
if $msg= $idSubMenu_5 then
Local $arr[5]
$arr[0] = "HKEY_CLASSES_ROOT"
$arr[1] = "HKEY_CURRENT_USER"
$arr[2]="HKEY_LOCAL_MACHINE"
$arr[3] ="HKEY_USERS"
$arr[4] ="HKEY_CURRENT_CONFIG"
Local $text = GUICtrlRead($idInput_3)
for $i = 0 to 4
Local $iPosition = StringInStr($text , $arr[$i])
if $iPosition = 1 Then
$len = StringLen($arr[$i])+1
Local $path = StringMid($text,$len,StringLen($text))
$message = "Выбери основной раздел:" & @LF & "1 " & $arr[0] & @LF & "2 " & $arr[1]& @LF & "3 " & $arr[2]& @LF & "3 " & $arr[3]& @LF & "4 " & $arr[4]
Local $sAnswer = InputBox("Сообщение", $message)
if $sAnswer = 1 then $path = $arr[0] & $path
if $sAnswer = 2 then $path = $arr[1] & $path
if $sAnswer = 3 then $path = $arr[2] & $path
if $sAnswer = 4 then $path = $arr[3] & $path
GUICtrlSetData($idInput_3,$path)
Local $sAnswer = msgbox(0,"Сообщение", "Путь к ключу реестра после выбора основного раздела "&$path)
ExitLoop
EndIf
next
endif
if $msg= $idSubMenu_6 then
Local $list[6]
$list[0] = "REG_SZ"
$list[1] = "REG_BINARY"
$list[2] = "REG_DWORD"
$list[3] = "REG_QWORD"
$list[4] = "REG_MULTI_SZ"
$list[5] = "REG_EXPAND_SZ"
Local $type = GUICtrlRead( $idInput_1)
$message = "Выбери тип ключа:" & @LF & "1 " & $list[0] & @LF & "2 " & $list[1]& @LF & "3 " & $list[2]& @LF & "4 " & $list[3]& @LF & "5 " & $list[4]& @LF & "6 " & $list[5]
Local $sAnswer = InputBox("Сообщение", $message,"","",250,250)
if $sAnswer = 1 then $type = $list[0]
if $sAnswer = 2 then $type = $list[1]
if $sAnswer = 3 then $type = $list[2]
if $sAnswer = 4 then $type = $list[3]
if $sAnswer = 5 then $type = $list[4]
if $sAnswer = 6 then $type = $list[5]
GUICtrlSetData($idInput_1,$type)
EndIf
if $msg = $GUI_EVENT_CLOSE then
ExitLoop
endif
if $msg= $idSubMenu_7 then
Local $hFileOpen = FileOpen("config.txt", $FO_OVERWRITE)
FileWriteLine($hFileOpen, "REG_SZ")
FileWriteLine($hFileOpen, "Приветствую")
FileWriteLine($hFileOpen, "HKEY_CURRENT_USER\Software\Test")
FileWriteLine($hFileOpen, "TestKey")
endif
if $msg= $idSubMenu_8 then
Local $hFileOpen = FileOpen("config.txt", $FO_READ)
Local $config_1 = FileReadLine($hFileOpen,1)
GUICtrlSetData($idInput_1,$config_1)
Local $config_2 = FileReadLine($hFileOpen,2)
GUICtrlSetData($idInput_2,$config_2)
Local $config_3 = FileReadLine($hFileOpen,3)
GUICtrlSetData($idInput_3,$config_3)
Local $config_4 = FileReadLine($hFileOpen,4)
GUICtrlSetData($idInput_4,$config_4)
endif
if $msg= $idSubMenu_9 then
Local $arr[5]
$arr[0] = "HKEY_CLASSES_ROOT"
$arr[1] = "HKEY_CURRENT_USER"
$arr[2]="HKEY_LOCAL_MACHINE"
$arr[3] ="HKEY_USERS"
$arr[4] ="HKEY_CURRENT_CONFIG"
$message = "Выбери куст реестра для экспорта:" & @LF & "1 " & $arr[0] & @LF & "2 " & $arr[1]& @LF & "3 " & $arr[2]& @LF & "4 " & $arr[3]& @LF & "5 " & $arr[4]& @LF
Local $sAnswer = InputBox("Сообщение", $message,"","",250,250)
Local $path = ""
if $sAnswer = 1 then $path = $arr[0]
if $sAnswer = 2 then $path = $arr[1]
if $sAnswer = 3 then $path = $arr[2]
if $sAnswer = 4 then $path = $arr[3]
if $sAnswer = 5 then $path = $arr[4]
$strcommand = InputBox("Сообщение", "Введите имя файла для экспорта", "C:\all.reg ")
$res = ShellExecute("regedit.exe"," -e "& $strcommand & $path )
endif
if $msg= $idSubMenu_10 then
Local $hFile = FileOpen("C:\all.reg", $FO_READ)
Local $arr[5]
$arr[0] = "[HKEY_CLASSES_ROOT]"
$arr[1] = "[HKEY_CURRENT_USER]"
$arr[2]="[HKEY_LOCAL_MACHINE]"
$arr[3] ="[HKEY_USERS]"
$arr[4] ="[HKEY_CURRENT_CONFIG]"
While 1
$sLine = FileReadLine($hFile)
If @error = -1 Then ExitLoop
If $sLine = $arr[0] Then
MsgBox(0, "Сообщение","Найден раздел "&$arr[0])
EndIf
If $sLine = $arr[1] Then
MsgBox(0, "Сообщение","Найден раздел "&$arr[1])
EndIf
If $sLine = $arr[2] Then
MsgBox(0, "Сообщение","Найден раздел "&$arr[2])
EndIf
If $sLine = $arr[3] Then
MsgBox(0, "Сообщение","Найден раздел "&$arr[3])
EndIf
If $sLine = $arr[4] Then
MsgBox(0, "Сообщение","Найден раздел "&$arr[4])
EndIf
WEnd
endif
WEnd
|