Что нового

Мини твикер W7

FullZero

Новичок
Сообщения
8
Репутация
0
Версия AutoIt: 3.3.8.0

Описание: Задача написать небольшой скрипт редактирующий настройки реестра. Размер формы на глаз, чтоб вместился чекбокс с надписью "Использовать маленькие значки на панели задач" и кнопка применить. Получается надо сначала загрузить из реестра значение этой настройки и отобразить его, что бы пользователь увидел что стоит в данный момент, включен или нет. Если настройка включена чекбокс включен, если нет то вырублен... По нажатию кнопки применить изменения должны вступить в силу.

Примечания: Вот ключи реестра нужной настройки

Включить
Код:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"TaskbarSmallIcons"=dword:00000001

Выключить
Код:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] 
"TaskbarSmallIcons"=dword:00000000

Не знаю важно или нет, операционная система Windows 7
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Как то так:
Код:
#NoTrayIcon
#include <WindowsConstants.au3>
#include <GUIConstants.au3>

If @OSVersion <> "WIN_7" Then
	MsgBox(16,"Error :C","Скрипт только для Windows 7")
	Exit 1
EndIf

Global $hMainGUI = GUICreate("TaskbarIconSizeChange", 230, 100, Default, Default, Default, $WS_EX_TOOLWINDOW)
Global $hCheckBox = GUICtrlCreateCheckbox("Использовать маленькие значки", 10, 10, 210, 20)
Global $hButtonOk = GUICtrlCreateButton("Ок", 10,70,80,22)
Global $hButtonKo = GUICtrlCreateButton("Отмена", 140,70,80,22)
If _TIS_GetStatus() Then GUICtrlSetState($hCheckBox,$GUI_CHECKED)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE, $hButtonKo
			Exit
		Case $hButtonOk
			If GUICtrlRead($hCheckBox) = $GUI_CHECKED Then
				_TIS_SetStatus(1)
			Else
				_TIS_SetStatus(0)
			EndIf
			Exit
	EndSwitch
WEnd

;===================

Func _TIS_GetStatus()
	Return RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","TaskbarSmallIcons")
EndFunc

Func _TIS_SetStatus($iNewStatus)
	Local $return = RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","TaskbarSmallIcons","REG_DWORD",$iNewStatus)
	DllCall("user32.dll", "int", "SendMessage", "hwnd", 0xFFFF, "int", 0x001A, "int", 0, "int", "Environment")
	Run("rundll32 user32.dll,UpdatePerUserSystemParameters")
	Return $return
EndFunc
 
Верх