Metodo My.Computer.Keyboard.SendKeys
Aggiornamento: novembre 2007
Invia una o più sequenze di tasti alla finestra attiva, come fossero digitate da tastiera.
' Usage
My.Computer.Keyboard.SendKeys(keys)
My.Computer.Keyboard.SendKeys(keys ,wait)
' Declaration
Public Sub SendKeys( _
ByVal keys As String _
)
' -or-
Public Sub SendKeys( _
ByVal keys As String, _
ByVal wait As Boolean _
)
Parametri
keys
Oggetto String che definisce i tasti da inviare.wait
Facoltativo. Oggetto Boolean che specifica se attendere o meno l'elaborazione delle sequenze di tasti prima che l'esecuzione dell'applicazione continui. True per impostazione predefinita.
Eccezioni
La seguente condizione può generare un'eccezione.
- Sussiste una situazione di attendibilità parziale in cui l'utente non dispone delle autorizzazioni necessarie(SecurityException).
Note
Il metodo My.Computer.Keyboard.SendKeys fornisce funzionalità simili ai metodi Send e SendWait.
L'argomento wait si rivela utile se, prima che l'esecuzione dell'applicazione possa continuare, l'altra deve essere completata.
Nota: |
---|
Poiché non esiste un metodo gestito per attivare un'altra applicazione, è possibile utilizzare questa classe all'interno dell'applicazione corrente, selezionare manualmente la finestra a cui inviare i tasti oppure utilizzare i metodi API di Windows, ad esempio FindWindow e SetForegroundWindow, per imporre lo stato attivo su altre applicazioni. Per ulteriori informazioni, vedere Procedura dettagliata: chiamata delle API di Windows. |
Nell'argomento keys è possibile specificare singoli tasti, combinazioni di tasti con ALT, CTRL o MAIUSC oppure qualsiasi combinazione di tali tasti. Ogni tasto è rappresentato da uno o più caratteri, come a per il carattere "a" oppure {ENTER} per il tasto INVIO.
Per combinare un tasto con MAIUSC, anteporre al codice tasto il segno più (+). Per combinare un tasto con CTRL, anteporre al codice tasto l'accento circonflesso (^). Per combinare un tasto con ALT, anteporre al codice tasto il simbolo di percentuale (%). Per indicare la ripetizione di tasti, utilizzare la sequenza {key number}. È necessario inserire uno spazio tra key e number. Ad esempio, {LEFT 42} equivale a premere 42 volte il tasto freccia SINISTRA, mentre {h 10} equivale a premere 10 volte il tasto h.
Nella tabella riportata di seguito sono elencati i codici da utilizzare per specificare caratteri che non vengono visualizzati quando si preme il tasto corrispondente, ad esempio INVIO o TAB.
Chiave |
Codice |
---|---|
BACKSPACE |
{BACKSPACE} o {BS} |
INTERR |
{BREAK} |
BLOC MAIUSC |
{CAPSLOCK} |
CANC |
{CLEAR} |
CANC |
{DELETE} o {DEL} |
Freccia GIÙ |
{DOWN} |
FINE |
{END} |
INVIO (tastierino numerico) |
{ENTER} |
INVIO |
~ |
ESC |
{ESCAPE} o {ESC} |
GUIDA |
{HELP} |
HOME |
{HOME} |
INS |
{INSERT} |
Freccia SINISTRA |
{LEFT} |
BLOC NUM |
{NUMLOCK} |
PGGIÙ |
{PGDN} |
PGSU |
{PGUP} |
INVIO |
{RETURN} |
Freccia DESTRA |
{RIGHT} |
BLOC SCORR |
{SCROLLLOCK} |
TAB |
{TAB} |
Freccia SU |
{UP} |
Da F1 a F15 |
Da {F1} a {F15} |
Esempio
In questo esempio viene utilizzato il metodo My.Computer.Keyboard.SendKeys per inviare sequenze di tasti a un'applicazione esterna, la Calcolatrice, avviata con la funzione Shell.
Dim ProcID As Integer
' Start the Calculator application, and store the process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
' Activate the Calculator application.
AppActivate(ProcID)
' Send the keystrokes to the Calculator application.
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' The result is 22 * 44 = 968.
Se non è possibile trovare un'applicazione con l'identificatore di processo richiesto, viene generata un'eccezione ArgumentException.
Per la chiamata alla funzione Shell è necessaria l'attendibilità completa (classe SecurityException).
Requisiti
Spazio dei nomi:Microsoft.VisualBasic.Devices
Classe:Keyboard
Assembly: libreria di runtime di Visual Basic (in Microsoft.VisualBasic.dll)
Disponibilità in base al tipo di progetto
Tipo di progetto |
Disponibile |
---|---|
Applicazione Windows |
Sì |
Libreria di classi |
Sì |
Applicazione di console |
Sì |
Libreria di controlli Windows |
Sì |
Libreria di controllo Web |
No |
Servizio Windows |
Sì |
Sito Web |
No |
Autorizzazioni
Possono essere necessarie le autorizzazioni seguenti:
Autorizzazione |
Descrizione |
---|---|
Controlla la possibilità di accedere ai file e alle cartelle. Enumerazione associata: Unrestricted. |
|
Controlla le autorizzazioni correlate alle interfacce utente e agli Appunti. Enumerazione associata: AllWindows. |
Per ulteriori informazioni, vedere Protezione dall'accesso di codice e Richiesta di autorizzazioni.
Vedere anche
Attività
Procedura dettagliata: chiamata delle API di Windows