Ho pensato di creare un tutorial che spiegasse come creare un programma con delle hot-key, ovvero una certa sequenza di tasti che, se premuta, effettua qualche azione.
il comando per creare una hotkey è:
- Codice:
-
HotKeySet ('^!a', 'nomefunzione')
in questo caso otteniamo una hotkey che viene aperta quando premiamo ctrl-alt-a
per chi non avesse capito:
! viene usato per ALT
^ viene usato per CTRL
+ viene usato per SHIFT
# viene usato per WINKEY
ora però dovremo creare una funzione, ovvero un'insieme di comandi che vengono effettuati in seguito alla richiesta del programmatore, in questo caso dovremmo fare in modo che le funzioni avvengano quando si preme una certa sequenza di tasti:
- Codice:
-
hotkeyset ('^!+a', 'funzione01')
func funzione01 ()
run ('notepad.exe')
endfunc
bene, ora se premete i tasti richiesti (CTRL-ALT-SHIFT-a) verrà richiamata la funzione denominata funzione01, infatti dopo la combinazione di tasti inserita dovrete inserire il nome della funzione da richiamare.
Viene in seuito creata una funzione (con Func- endfunc) il nome della funzione viene dichiarato dopo aver scritto func (in questo caso è funzione01) e poi tra parentesi i parametri della funzione (in questo caso nessuno quindi (), ok? )
il comando da eseguire in questa funzione è semplice: eseguire notepad. però mettiamo una piccola "accortezza":
- Codice:
-
hotkeyset ('^!+a', 'funzione01')
while 1 = 1
;non fare niente (ah, questo è un commento)
wend
func funzione01 ()
run ('notepad.exe')
endfunc
in questo modo si verificherà un ciclo while (al suo interno non avviene niente) cosicche il programma rimanga sempre aperto. Ora potrete aprire lo script, premete i tasti richiesti e... magia!!!
si aprirà notepad!
facciamo ora uno script un po'piu complesso:
- Codice:
-
hotkeyset ('^!+a', 'funzione01')
hotkeyset ('^!b', 'funzione02')
while 1 = 1
;non fare niente (ah, questo è un commento)
wend
func funzione01 ()
$a = inputbox ('', 'inserire password:', '', '*')
if $a = 'password' then
run ('notepad.exe')
else
msgbox (16, '', 'password errata')
endif
endfunc
func funzione02 ()
$a = inputbox ('', 'inserire password:', '', '*')
if $a = 'password' then
run ('calc.exe')
else
msgbox (16, '', 'password errata')
endif
endfunc
se avete già seguito il mio tutorial 2 allora avrete notato che protetto l'accesso da password, ovvero quando premerete la sequenza di tasti vi verrà chiesta una password, se sarà giusta allora vi aprirà notepad, altrimenti ci darà una messagebox di errore, la password che ho impostato è password, ma voi potrete cambiarla con quella che preferite
magari se volete mettervi all'avvio queste hotkey inserite all'inizio dello script:
- Codice:
-
regwrite ('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 'hotkeys', 'REG_SZ', 'C:\nomefile.exe')
con questo script inserirete una chiave di registro che metterà all'avvio il file compilato in .exe.
in questo esempio ho scritto C:\nomefile.exe, sostituitelo con la directory e il nome del file che avete creato.
se volete togliere quell'icona (la trayicon) che si crea vicino all'orologio inserite all'inizio dello script:
- Codice:
-
#notrayicon
spero che questo piccolo tutorial vi sia stato utile
per permettervi di usare un vostro programma per creare hot-key invece di usare programmi altrui.