1 (изменено: Dworkin, 2013-04-09 03:53:17)

Тема: AHK: Один и два Hotkey on/off для одного Checkbox'a

Здравствуйте, уже несколько часов ломают голову над решением проблемы, перепробовал все что пришло в голову  и никак не могу решить задачу.

Суть скрипт: создаю 1 checkbox, когда ставлю галочку то горячие клавиши активны. Например горячие клавиши X и G. Нажимаю X - включает то что мне нужно, G - выключает. Убираю галочку и тогда эти горячие клавиши не активны.
То же самое и для одной горячей кнопки например F2, которая включает и выключает.

Проблема в том что не получается сделать для двух горячих клавиш и  для одной, которые включали и выключали бы.

Скрипт для двух горячих клавиш не работает, хотя по логике вроде должен


#UseHook  
processName := "процес.exe"
Address := 0x000000

Gui, Add, CheckBox, gCheckBoxDelaetshtoto vDelaetshtoto , Delaet
Gui, Show,, CheckBox
Return

GuiClose:
    ExitApp

CheckBoxDelaetshtoto:
    Gui, Submit, NoHide 
    If Delaetshtoto = 1
        Hotkey, vk58, DelaetshtotoON, On ; горячая клавиша X включена
        Hotkey, vk47, DelaetshtotoOFF, On ; горячая клавиша G включена
    Else
        Hotkey, vk58, DelaetshtotoON, Off ; горячая клавиша X выключена
        Hotkey, vk47, DelaetshtotoOFF, Off ; горячая клавиша G выключена
    return

DelaetshtotoON: ; Нажать X для включения
    ProcessWriteMemory(1, Address, processName, "UInt") ; включено
    return 

DelaetshtotoOFF: ; Нажать G для выключения
    ProcessWriteMemory(0, Address, processName, "UInt") ; выключено
    return 
    
 

А как для одной я без понятия

2

Re: AHK: Один и два Hotkey on/off для одного Checkbox'a

Так



CheckBoxDelaetshtoto:
    Gui, Submit, NoHide 
    If Delaetshtoto = 1
    {
        Hotkey, vk58, DelaetshtotoON, On ; горячая клавиша X включена
        Hotkey, vk47, DelaetshtotoOFF, On ; горячая клавиша G включена
    }
    Else
    {
        Hotkey, vk58, DelaetshtotoON, Off ; горячая клавиша X выключена
        Hotkey, vk47, DelaetshtotoOFF, Off ; горячая клавиша G выключена
    }    
    return 

так



CheckBoxDelaetshtoto:
    Gui, Submit, NoHide 
    If Delaetshtoto = 1
    {
        Hotkey, vk58, DelaetshtotoON, On ; горячая клавиша X включена
        Hotkey, vk47, DelaetshtotoOFF, On ; горячая клавиша G включена
        return
    } 
        Hotkey, vk58, DelaetshtotoON, Off ; горячая клавиша X выключена
        Hotkey, vk47, DelaetshtotoOFF, Off ; горячая клавиша G выключена 
    return

или так



CheckBoxDelaetshtoto:
    GuiControlGet, Delaetshtoto 
    Hotkey, vk58, DelaetshtotoON, % Delaetshtoto ? "On" : "Off"  
    Hotkey, vk47, DelaetshtotoOFF, % Delaetshtoto ? "On" : "Off" 
    return

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3 (изменено: serzh82saratov, 2013-04-09 04:16:51)

Re: AHK: Один и два Hotkey on/off для одного Checkbox'a

А как для одной я без понятия

Хмм... Что значит для одной?
И для одной чего?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4

Re: AHK: Один и два Hotkey on/off для одного Checkbox'a

Вроде понял что надо:



Gui, Add, CheckBox, gCheckBoxDelaetshtoto vDelaetshtoto , Delaet
Gui, Show,, CheckBox
Return

F2::
    GuiControl, ,Delaetshtoto, % Delaetshtoto ? 0 : 1  
CheckBoxDelaetshtoto:
    GuiControlGet, Delaetshtoto 
    Hotkey, vk58, DelaetshtotoON, % Delaetshtoto ? "On" : "Off"  
    Hotkey, vk47, DelaetshtotoOFF, % Delaetshtoto ? "On" : "Off"  
    return

DelaetshtotoON: 
    ToolTip % A_ThisLabel
    return 

DelaetshtotoOFF: 
    ToolTip % A_ThisLabel
    return 

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Один и два Hotkey on/off для одного Checkbox'a

Спасибо для двух все работает.
Для одной...вы не так поняли, а я как всегда не так объяснил (
Хотя на заметку возьму пример)

В примерах для двух клавиш, X включала, а G выключала то что нужно. А "для одной" имелось ввиду, то же самое только вместо двух горячих клавиш это все выполняла одна горячая клавиша. Например: нажимаю X - включается то что нужно, опять нажимаю, тогда выключается.

6

Re: AHK: Один и два Hotkey on/off для одного Checkbox'a



Gui, Add, CheckBox, gCheckBoxDelaetshtoto vDelaetshtoto , CheckBoxDelaetshtoto
Gui, Show,, CheckBox
Return
    
F2::
    GoTo, % IsOn ? "DelaetshtotoOFF" : "DelaetshtotoON"  
    
CheckBoxDelaetshtoto:
    GuiControlGet, Delaetshtoto 
    Hotkey, vk58, DelaetshtotoON, % Delaetshtoto ? "On" : "Off"  
    Hotkey, vk47, DelaetshtotoOFF, % Delaetshtoto ? "On" : "Off"  
    return
    
DelaetshtotoON: 
    IsOn := 1
    ToolTip % A_ThisLabel
    return 
    
DelaetshtotoOFF: 
    IsOn := ""
    ToolTip % A_ThisLabel
    return 
    
Esc::
    GuiClose:
    ExitApp 

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: AHK: Один и два Hotkey on/off для одного Checkbox'a

Большое спасибо еще раз