Что нового

[Мышь, клавиатура] Как объединить два кода запрета определенных клавиш

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
уже целый час ломаю голову как объеденить эти два кода :stars:, никак не выходит, может кто поможет? :'( :'( :'(
Код:
#include <GUIConstants.au3>
#Include <HotKey.au3>


 ;Запрет некоторых комбинаций
Global Const $VK_ESCAPE = 0x1B
Global Const $VK_F12 = 0x7B
Global Const $VK_C = 0x43
Global Const $VK_SNAPSHOT = 0x2C

;Обязательно задавать элементам -1, чтобы небыло ложного срабатывания событий в случае если (ещё) не создан элемент присваеваемый данной переменной
Global $nChildGUI_Close_Bttn = -1

$hMain_GUI = GUICreate("Main GUI", 500, 500)

Global $defaultstatus = "Готов"
Global $status

; Assign "F12" with Message() and set extended function call
_HotKey_Assign($VK_F12, 'Message', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))

; Assign "CTRL-ESC" with Quit()
_HotKey_Assign(BitOR($CK_CONTROL, $VK_ESCAPE), 'Quit')

_HotKey_Assign(BitOR($CK_CONTROL, $VK_C), 'Qt')
_HotKey_Assign(BitOR($CK_CONTROL, $VK_SNAPSHOT), 'Qt')

GUICtrlCreateLabel ("Добро",  10, 30, 50)
GUICtrlCreateLabel ("пожаловать", 47, 30, 60)

$nChild_Button = GUICtrlCreateButton("Начать читать", 20, 400, 100, 20)
$cancelbutton = GUICtrlCreateButton ("Выход",180,130,70,20)
GUISetState(@SW_SHOW, $hMain_GUI)

;Создаём дочерний GUI, не отображая его на экране

$hChild_GUI = _ChildGUI_Create($hMain_GUI)

While 1
    ;Обработка событий в расширенном режиме
    $aMsg = GUIGetMsg(1)

    Switch $aMsg[0]
        Case $GUI_EVENT_CLOSE
            ;Проверяем если "событие закрытия" поступило с главного-родительского GUI
            If $aMsg[1] = $hMain_GUI Then Exit

            ;Если "событие закрытия" поступило с дочернего GUI, то просто прячем его
            If $aMsg[1] = $hChild_GUI Then
                GUISetState(@SW_HIDE, $hChild_GUI)
            EndIf

        Case $nChild_Button
            ;Показываем дочерний GUI при нажатий на кнопку "Child"
            GUISetState(@SW_SHOW, $hChild_GUI)
            If Not WinActive($hChild_GUI) Then WinActivate($hChild_GUI)

        Case $nChildGUI_Close_Bttn
            MsgBox(64, 'Message', 'Child GUI "Close" button pressed, closing the child...', 3)
            GUISetState(@SW_HIDE, $hChild_GUI)

        Case $cancelbutton
            Exit
    EndSwitch
WEnd

Func _ChildGUI_Create($hParent)
    Local $hChild_GUI

    $hChild_GUI = GUICreate("Child GUI", 500, 500, -1, -1, -1, -1, $hParent)

    ;Создаём элементы тут
    $nChildGUI_Close_Bttn = GUICtrlCreateButton("Close", 20, 170, 60, 20)

    Return $hChild_GUI
EndFunc     ;==> _ChildGUI_Create

Func Message($iKey)
    MsgBox(0, 'Hot key Test Message', 'F12 (0x' & Hex($iKey, 4) & ') has been pressed!')
EndFunc   ;==>Message

Func Qt()
    MsgBox(0, 'Ошибка', 'В доступе отказано!')
EndFunc     ;==>Qt

Func Quit()
    Exit
EndFunc   ;==>Quit


Код:
#Include <Misc.au3>

While 1

   if _IsPressed("02") Then MsgBox (64, "Ошибка", "Копировать текст запрещено")
	  Sleep(100)

	  WEnd

:IL_AutoIt_1:Надеюсь на помощь
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Re: [Мышь, клавиатура] Как объеденить два кода

VermanVendetta13 [?]
уже целый час ломаю голову как объеденить эти два кода
А я уже несколько лет ломаю голову над тем, как предотвратить на форуме создание тем с неприемлемым названием.

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Мышь, клавиатура] Как объеденить два кода" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.
 

Ksaan

Знающий
Сообщения
207
Репутация
15
Добавь в цикл Switch
Код:
Case $GUI_EVENT_SECONDARYDOWN 
MsgBox(0, "", "help")
 
Верх