Что нового

Блокирование нажатия )

zelich

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

Описание:Есть скрипт блокирующий нажати 0-9
Как ещё заблокировать ")"?
Код:
#include <GuiConstants.au3>
#include <WinAPISys.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
TraySetToolTip('UnPress')

HotKeySet("+{Esc}", '_Exit')

$hWnd = GUICreate("")
GUIRegisterMsg($WM_HOTKEY, 'WM_HOTKEY')

;~_WinAPI_RegisterHotKey($hWnd, 1, 0, 0xE2) ; Блок левого  \ (1)
;~_WinAPI_RegisterHotKey($hWnd, 1, 0, 0xDC) ; Блок правого \ (2)

_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x30) ; 0
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x31) ; 1
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x32) ; 2
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x33) ; 3
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x34) ; 4
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x35) ; 5
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x36) ; 6
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x37) ; 7
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x38) ; 8
_WinAPI_RegisterHotKey($hWnd, 1, 0, 0x39) ; 9
;~ _WinAPI_RegisterHotKey($hWnd, 1, 0, 0xBD) ; -
;~ _WinAPI_RegisterHotKey($hWnd, 1, 0, 0xBB) ; =



$GUI = GUICreate("", 30, 30, 1875, 20, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW, $WS_EX_TRANSPARENT, $WS_EX_LAYERED))
GUISetBkColor(0xFF1000)
_WinAPI_SetLayeredWindowAttributes($GUI, 0xFF1000, 0, $LWA_COLORKEY)
GUICtrlCreateLabel("•", 0, 0, 30, 30, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetFont(-1, 48)
GUISetState()


Do
Until GUIGetMsg() = -3

While 1
    Sleep(10)
 WEnd



 Func _Exit()
    Exit
 EndFunc

Примечания:
Помогите пожалуйста
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
HotKeySet('+{Esc}', '_Exit')

Global $aBlock_Keys[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '-', '=', '\']
Global $sBlock_Modifier = '+'

For $i = 0 To UBound($aBlock_Keys) - 1
	HotKeySet($aBlock_Keys[$i], '_Block')
	
	If $sBlock_Modifier Then
		HotKeySet($sBlock_Modifier & $aBlock_Keys[$i], '_Block')
	EndIf
Next

While 1
	Sleep(10)
WEnd

Func _Block()
	;Nothing
EndFunc

Func _Exit()
	Exit
EndFunc
 
Автор
zelich

zelich

Новичок
Сообщения
149
Репутация
0
CreatoR , а если нужен 0? Num ?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
zelich [?]
а если нужен 0? Num ?
Не понял, нужно блокировать Num цифры?

Код:
HotKeySet('+{Esc}', '_Exit')

Global $aBlock_Keys = StringSplit('{NUMPAD0},{NUMPAD1},{NUMPAD2},{NUMPAD3},{NUMPAD4},{NUMPAD5},{NUMPAD6},{NUMPAD7},{NUMPAD8},{NUMPAD9},0,1,2,3,4,5,6,7,8,9,-,=,\', ',')
Global $sBlock_Modifier = '+'

For $i = 1 To $aBlock_Keys[0]
    HotKeySet($aBlock_Keys[$i], '_Block')
    
    If $sBlock_Modifier Then
        HotKeySet($sBlock_Modifier & $aBlock_Keys[$i], '_Block')
    EndIf
Next

While 1
    Sleep(10)
WEnd

Func _Block()
    ;Nothing
EndFunc

Func _Exit()
    Exit
EndFunc


А вообще есть BlockInputEx.
 
Автор
zelich

zelich

Новичок
Сообщения
149
Репутация
0
CreatoR, спасибо!

Чуть уменьшил
Код:
HotKeySet('+{Esc}', '_Exit')

Global $aBlock_Keys = StringSplit('+0,\', ',')
Global $sBlock_Modifier = ''

For $i = 1 To $aBlock_Keys[0]
    HotKeySet($aBlock_Keys[$i], '_Block')

    If $sBlock_Modifier Then
        HotKeySet($sBlock_Modifier & $aBlock_Keys[$i], '_Block')
    EndIf
Next

While 1
    Sleep(10)
WEnd

Func _Block()
    ;Nothing
EndFunc

Func _Exit()
    Exit
EndFunc
 
Верх