CreateHotKeys




'Codice da inserire in un modulo


Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam _
As Long, lParam As Long) As Long
Declare Function DefWindowProc Lib "user32" Alias _
DefWindowProcA" (ByVal hwnd As Long, ByVal wMsg As Long,_
ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_SETHOTKEY = &H32
Public Const WM_SHOWWINDOW = &H18
Public Const HK_SHIFTA = &H141 'Shift + A
Public Const HK_SHIFTB = &H142 'Shift * B
Public Const HK_CONTROLA = &H241 'Control + A
Public Const HK_ALTZ = &H45A

'Il valore della combinazione di tasti deve essere

'dichiarato nel formato LSB/MSB,

'cioe' come un numero esadecimale: le ultime due cifre

'rappresentano hanno peso minore (e.g.: 41 = a),

'le prime hanno il peso maggiore (e.g.: 01 = 1 = Shift)

'Codice da inserire in un Form

Private Sub Form_Load()
Me.WindowState = vbMinimized

'Adesso fai in modo che Windows sappia

'quale hotkey desideri per il tuo programma,

'la modifica di lParam non ha effetto.

erg& = SendMessage(Me.hwnd, WM_SETHOTKEY, HK_ALTZ, 0)

'Controlla se l'operazione ha avuto successo

If erg& <> 1 Then
MsgBox "Ti serve una diversa hotkey", vbOKOnly, "Errore"
End If

'Di' a Windows cosa dovrebbe fare quando viene premuta

'la combinazione -> mostra la finestra!

'La modifica di wParam e lParam non ha effetto.

erg& = DefWindowProc(Me.hwnd, WM_SHOWWINDOW, 0, 0)
End Sub

'Quando l'utente preme ALT+Z viene mostrato il Form1.

Ecco un esempio di come creare una combinazione di tasti
(HotKey) per un programma!










( createhotkeys.html )- by Paolo Puglisi - Modifica del 17/12/2023