Vorrei mettere in una form del mio database un pulsante che una
volt premuto con il mouse faccia aprire il menu di windows, per
capirci deve aprire il il menu che si apre schiacciando il tasto
bandierina (il menu che si apre è quello con programmi, dati
recenti, impostazioni, chiudi discnoetti etc)
per favore mi potete dare propio il codice da copiare
nell'evento click del bottone.
grazie 1000
nao
--
Postato da Virgilio Newsgroup: lo usi da web ma con le funzioni del newsreader http://newsgroup.virgilio.it
Gerarchie it, italia, it-alt, tin, it.binari. Unico!
Una strada:
in un modulo pubblico:
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan
As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Const KEYEVENTF_KEYUP = &H2
Sul click di un pulsante o dove preferisci:
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyEscape, 0, 0, 0
DoEvents
Per rilasciare i tasti
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyEscape, 0, KEYEVENTF_KEYUP, 0
DoEvents
In pratica si tratta di premere contemporaneamente ctrl+esc...non ricordo se
si può anche fare con
sendkeys.
Ciao, Carlo
Ciao Carlo,
ho voluto provare il tuo suggerimento ma qualcosa non è andato per il
verso giusto; probabilmente ho interpretato male "Per rilasciare i
tasti" pensando che volessi indicare l'inserimento della seconda
routine "Su tasto su" del pulsante. Infatti è successo che, una volta
aperto e richiuso il controllo Start (credo si chiami così) e
naturalmente anche il db, sia il mouse che la tastiera sono rimasti
ancorati al tasto CTRL senza alcuna possibilità di ripristino.
Vladimiro.
Infatti le due routine andavano messe una sotto l'altra :-)
Vladimiro.
Infatti le due routine andavano messe una sotto l'altra :-)
Vladimiro.
Ora funziona?
Ciao, Carlo
Ciao ragazzi,
io sono un po tarato su queste cose, ho provato quinto scritto
sopra ma non mi funziona.
ho fatto cosi:
ho creato un modulo di classe e gli ho incollato:
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte,
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As
Long)
Public Const KEYEVENTF_KEYUP = &H2
sull'evento bottone ho:
Private Sub Comando0_Click()
On Error GoTo Err_Comando0_Click
keybd_event vbKeyControl, 0, 0, 0
keybd_event vbKeyEscape, 0, 0, 0
DoEvents
'Per rilasciare i tasti
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyEscape, 0, KEYEVENTF_KEYUP, 0
DoEvents
Exit_Comando0_Click:
Exit Sub
Err_Comando0_Click:
MsgBox Err.Description
Resume Exit_Comando0_Click
End Sub
ma mi da errore sulla--
Public Const KEYEVENTF_KEYUP = &H2
non sono in grado di risolvere questo errore,per favore mi
aiutate.
grazie
Alla grande.
(Ho Windows Vista e Office 2007)
Ciao Vladimiro.
Perchč un modulo di classe?
Basta un modulo generico ma pubblico.
In alternativa potresti usare le dichiarazioni in un modulo di una maschera
ma vanno cambiati i Public in Private:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan
As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Ciao, Carlo
Grazie ragazzi, funziona perfettamente, siete troppo forti.
ciao nao