Что нового

[Элементы GUI] Несколько флажков (GuiCtrlCreateCheckbox)

Статус
Закрыто для дальнейших ответов.

Satechnology

Новичок
Сообщения
3
Репутация
0
Приветствую.
Пишу скрипт следующего содержания:

#NoTrayIcon
#include <GuiConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

;------------------------------------------------------------------
$NameLnk = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "")
$GUI=GUICreate("",400,265)
$INPUT1=GUICtrlCreateInput("",85,110,305,25)
$INPUT2=GUICtrlCreateInput($NameLnk,85,140,305,25)
$BUTTON=GUICtrlCreateButton("Сохранить и выйти",10,225,150,25)
;------------------------------------------------------------------
GuiCtrlCreateLabel("Имя ярлыка:", 10, 145)
GUISetState()
GuiCtrlCreateLabel("Пароль:", 10, 115)
GUISetState()
GuiCtrlCreateGroup("", 2, 95, 396, 80)
GuiCtrlCreatePic("100.gif",0,0, 400,100)
;------------------------------------------------------------------
$1Stlnk = RegRead ("HKEY_CURRENT_USER\Software\FolderProtect", "1-Stlnk")
$2Stlnk = RegRead ("HKEY_CURRENT_USER\Software\FolderProtect", "2-Stlnk")

$Radio1 = GuiCtrlCreateCheckbox ("Отображать ярлык в окне Мой компьютер", 20, 180, 250, 20)
$Radio2 = GuiCtrlCreateCheckbox ("Отображать ярлык на рабочем столе", 20, 200, 250, 20)

;------------------------------------------------------------------
If $1Stlnk = 1 Then
$Radio1 = GuiCtrlSetState($Radio1, $GUI_CHECKED)
;Else
;$Radio1 = GuiCtrlSetState(-0, $GUI_CHECKED)
EndIf
;------------------------------------------------------------------
If $2Stlnk = 1 Then
$Radio2 = GuiCtrlSetState($Radio2, $GUI_CHECKED)
;Else
;$Radio1 = GuiCtrlSetState(-0, $GUI_CHECKED)
EndIf
;------------------------------------------------------------------
while true

Switch GUIGetMsg()
case -3
exitloop
case $BUTTON
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "", "REG_SZ", GUICtrlRead($INPUT2))
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "NameLnk", "REG_SZ", GUICtrlRead($INPUT2))
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "Pass", "REG_SZ", GUICtrlRead($INPUT1))
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "", "REG_SZ", GUICtrlRead($INPUT2))
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "InfoTip", "REG_SZ", GUICtrlRead($INPUT2))
;------------------------------------------------------------------
If GUICtrlRead($Radio1) = $GUI_CHECKED Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "", "REG_SZ", "")
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "1-Stlnk", "REG_SZ", "1")
Else
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{6239CC93-2A9C-4653-BF2C-5B33687432B5}")
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "1-Stlnk", "REG_SZ", "0")
EndIf
; ------------------------------------------------------------------
If GUICtrlRead($Radio2) = $GUI_CHECKED Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "", "REG_SZ", GUICtrlRead($INPUT2))
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "", "REG_SZ", GUICtrlRead($INPUT2))
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}", "InfoTip", "REG_SZ", GUICtrlRead($INPUT2))
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}\InprocServer32}")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}\shell")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6239CC93-2A9C-4653-BF2C-5B33687432B5}\TypeLib", "", "REG_SZ", "{6239CC93-2A9C-4653-BF2C-5B33687432B5}")
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "2-Stlnk", "REG_SZ", "1")
Else
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{6239CC93-2A9C-4653-BF2C-5B33687432B5}")
RegWrite("HKEY_CURRENT_USER\Software\FolderProtect", "2-Stlnk", "REG_SZ", "0")
EndIf
;------------------------------------------------------------------
;MsgBox(4096, "Program files are in:",GUICtrlRead($Radio2))
Exit
EndSwitch

wend

;------------------------------------------------------------------
;FileClose($FILE)

Скрипт работает нормально при первом запуске, но когда запускаю скрипт второй раз то при нажатии на Сохранить и выйти $Radio1 и $Radio2 возвращает ноль, а должно возвращать 1
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

"[Элементы GUI] Несколько флажков (GuiCtrlCreateCheckbox)" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, Модератор раздела.








Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, Модератор раздела.
 
Автор
S

Satechnology

Новичок
Сообщения
3
Репутация
0
Re: [Элементы GUI] Для Модеров.............Точки типо тоже нельзя было ставить..

Модер бань меня за нарушения так сказать тупых правил, это вообще тупость ваши правила то не так это не так, хуже форума не видел, да и если забанят что толку то всегда можно создать новую учетку, (форумы были сделаны для пользователей и обсуждения разных вопросов и если пользователи создают темы не важно какая там тема или не выделен тег [] какая разница по мне дак это тупость для форума, бань меня мне все равно, а да не льзя ж выделять весь текст.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
OK, уговорил.

:smile:

Только одно пойми, даже если ты еще раз зарегистрируешься на форуме и будешь задавать вопросы, то тебе все равно придется соблюдать наши "так сказать тупые" правила. В противном случае, будет та же история...

:muttley:
 
Статус
Закрыто для дальнейших ответов.
Верх