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

Libreria di classi

Applicazione di console

Libreria di controlli Windows

Libreria di controllo Web

No

Servizio Windows

Sito Web

No

Autorizzazioni

Possono essere necessarie le autorizzazioni seguenti:

Autorizzazione

Descrizione

FileIOPermission

Controlla la possibilità di accedere ai file e alle cartelle. Enumerazione associata: Unrestricted.

UIPermission

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

Riferimenti

Oggetto My.Computer.Keyboard

Send

SendWait

Keyboard.SendKeys