Что нового

Элементы GUI Твикер для Windows 8.1

Phantom51

Новичок
Сообщения
2
Репутация
0
Нужно написать скрипт, который редактирует настройки реестра Windows8.1 (ключи см ниже),с возможностью выбора вариантов настройки в чекбоксах (их 3).Заранее Спасибо

Код реестра:


;Настройка Superfetch
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"=dword:00000002
"EnableSuperfetch"=dword:00000000

;Приоритет задач
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\PriorityControl]
"Win32PrioritySeparation"=dword:00000026

;Автовыгрузка неиспользуемых DLL из памяти
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"AlwaysUnloadDll"=dword:00000001
 

joiner

Модератор
Локальный модератор
Сообщения
3 354
Репутация
581
"нужен скрипт" это в стол заказов.
если писать самому, то функции работы с реестром чтение-запись
Код:
RegRead
RegWrite
 
Автор
P

Phantom51

Новичок
Сообщения
2
Репутация
0
"нужен скрипт" это в стол заказов.
если писать самому, то функции работы с реестром чтение-запись
Код:
RegRead
RegWrite
Я разобрался ,но при попытке написать твикер со скроллбаром(Чтоб много кнопок поместилось ) функция при нажатии клавиши "RunIT" почему-то не работает.Код ниже:

#Include <GUIConstants.au3>
#Include <WindowsConstants.au3>
#Include <GUIScrollBars.au3>
#Include <WinAPI.au3>

Opt("GUIOnEventMode") ; Подключаем режим OnEvent

Global $hSB[2], $Graphic[4], $tSI, $Button1

$hForm = GUICreate('MyGUI', 400, 400)
For $i = 0 To 3
GUICtrlSetState($Graphic[$i], $GUI_DISABLE)
GUICtrlSetBkColor($Graphic[$i], 0xA0A0A0)
Next
$hSB[0] = GUICreate('', 360, 360, 20, 20, BitOR($WS_CHILD, $WS_VSCROLL), 0, $hForm)
$hSB[1] = GUICreate('', 360, 2795, 0, 0, $WS_CHILD, 0, $hSB[0])
GUISetBkColor(0xFFFFFF)
For $i = 1 To 99
GUICtrlCreateLabel("4543543",0, 340, 400, 1)
$Button1 = GUICtrlCreateButton("RunIT", 16, 72, 73, 25, 0)
GUICtrlSetOnEvent($Button1, "RunCMD")
GUISetState(@SW_SHOW)
Next
$tSI = DllStructCreate($tagSCROLLINFO)
;~$tSI.fMask = BitOR($SIF_DISABLENOSCROLL, $SIF_PAGE, $SIF_RANGE)
$tSI.fMask = BitOR(0x0008, $SIF_PAGE, $SIF_RANGE)
$tSI.nPage =_WinAPI_GetClientHeight($hSB[0]) + 1
$tSI.nMin = 0
$tSI.nMax =_WinAPI_GetClientHeight($hSB[1])
_GUIScrollBars_SetScrollInfo($hSB[0], $SB_VERT, $tSI, 0)
For $i = 0 To 1
GUISetState(@SW_SHOWNOACTIVATE, $hSB[$i])
Next
GUISwitch($hForm)
GUIRegisterMsg($WM_VSCROLL, 'WM_VSCROLL')
GUISetState()

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Func WM_VSCROLL($hWnd, $iMsg, $wParam, $lParam)
Switch $hWnd
Case $hSB[0]

Local $nSB = BitAND($wParam, 0x0000FFFF)
Local $tSI =_GUIScrollBars_GetScrollInfoEx($hSB[0], $SB_VERT)
Local $iPH = $tSI.nPos

Switch $nSB
Case $SB_LINEUP
$tSI.nPos -= 10
Case $SB_LINEDOWN
$tSI.nPos += 10
Case $SB_PAGEUP
$tSI.nPos -= $tSI.nPage
Case $SB_PAGEDOWN
$tSI.nPos += $tSI.nPage
Case $SB_THUMBTRACK
$tSI.nPos = $tSI.nTrackPos
EndSwitch
If $tSI.nPos < 0 Then
$tSI.nPos = 0
EndIf
If $tSI.nPos > $tSI.nMax - $tSI.nPage + 1 Then
$tSI.nPos = $tSI.nMax - $tSI.nPage + 1
EndIf
_GUIScrollBars_ScrollWindow($hSB[1], 0, $iPH - $tSI.nPos)
$tSI.fMask = $SIF_POS
_GUIScrollBars_SetScrollInfo($hSB[0], $SB_VERT, $tSI)
Case Else

EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_VSCROLL

Func RunCMD()
Run("C:\WINDOWS\system32\cmd.exe")
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
send('powercfg /s SCHEME_MIN' & "{ENTER}")
 

joiner

Модератор
Локальный модератор
Сообщения
3 354
Репутация
581
код нужно брать в теги, а если длинный, скрывать под спойлером
если нет знаний, то зачем лезть в такие дебри?
используй
Код:
GUICtrlCreateTab

важный плюс- не надо страдать прокруткой
в справке есть пример
 
Верх