Четверг, 28.11.2024, 04:31 | Приветствую Вас Гость

...

Код

Главная » Статьи » Autoit

Запись в реестр

#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

Категория: Autoit | Добавил: moskov (10.07.2024)
Просмотров: 38 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Меню сайта

Категории раздела

PHP [41]
C++ [71]
Autoit [108]
Processing [105]
Basic4GL [7]
Fasm [2]
PABC [7]
Js [236]
Gentee [1]
Python [204]
Java android [3]
Small Basic [9]

Мини-чат

Статистика


Онлайн всего: 11
Гостей: 11
Пользователей: 0

Форма входа

Друзья сайта

  • ЗОВ КОСМОСА

  • Хулиган Вселенной

  • Тюремная поэзия

  • Религиозная поэзия

  • Сайт клана ЛеГиоН
  • Поиск