Keyboard.SendKeys Metodo

Definizione

Invia una o più sequenze di tasti alla finestra attiva, come se digitate sulla tastiera.

Overload

Nome Descrizione
SendKeys(String)

Invia una o più sequenze di tasti alla finestra attiva, come se digitate sulla tastiera.

SendKeys(String, Boolean)

Invia una o più sequenze di tasti alla finestra attiva, come se digitate sulla tastiera.

SendKeys(String)

Invia una o più sequenze di tasti alla finestra attiva, come se digitate sulla tastiera.

public:
 void SendKeys(System::String ^ keys);
public void SendKeys(string keys);
member this.SendKeys : string -> unit
Public Sub SendKeys (keys As String)

Parametri

keys
String

Oggetto String che definisce le chiavi da inviare.

Eccezioni

Esiste una situazione di attendibilità parziale in cui l'utente non dispone delle autorizzazioni necessarie.

Esempio

In questo esempio viene usato il My.Computer.Keyboard.SendKeys metodo per inviare sequenze di tasti a un'applicazione esterna, ovvero l'applicazione Blocco note, avviata dal Shell metodo .

Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.

Viene generata un'eccezione ArgumentException se non è possibile trovare un'applicazione con l'identificatore di processo richiesto.

La chiamata al metodo richiede l'attendibilità Shell totale (SecurityException classe ).

Commenti

Il My.Computer.Keyboard.SendKeys metodo fornisce funzionalità simili ai Send metodi e SendWait .

L'argomento wait è utile se l'altra applicazione deve terminare prima che l'applicazione possa continuare.

Note

Poiché non esiste alcun metodo gestito per attivare un'altra applicazione, è possibile usare questa classe all'interno dell'applicazione corrente, selezionare manualmente la finestra per inviare le chiavi oppure usare metodi API Windows, ad esempio FindWindow e SetForegroundWindow, per forzare lo stato attivo su altre applicazioni. Per altre informazioni, vedere Walkthrough: Chiamata di API Windows.

L'argomento keys può specificare qualsiasi tasto singolo o tasto combinato con ALT, CTRL o MAIUSC (o qualsiasi combinazione di tali tasti). Ogni tasto è rappresentato da uno o più caratteri, ad esempio a per il carattere "a" o {ENTER} per il tasto INVIO.

Per combinare un tasto con MAIUSC, precedere il codice del tasto con + (segno più). Per combinare un tasto con CTRL, precedere il codice del tasto con ^ (cursore). Per combinare un tasto con ALT, precedere il codice della chiave con % (segno di percentuale). Per specificare chiavi ripetute, usare il numero} di chiave del modulo{. È necessario inserire uno spazio tra chiave e numero. Ad esempio, {LEFT 42} significa "premere il tasto FRECCIA SINISTRA 42 volte"; {h 10} significa "premere 'h' 10 volte".

Nella tabella seguente sono elencati i codici che possono essere usati per specificare i caratteri che non vengono visualizzati quando si preme il tasto corrispondente, ad esempio INVIO o TAB.

Chiave Codice
BACKSPACE {BACKSPACE} o {BS}
BREAK {BREAK}
BLOC MAIUSC {CAPSLOCK}
CLEAR {CLEAR}
DELETE {DELETE} o {DEL}
FRECCIA VERSO IL BASSO {DOWN}
END {END}
INVIO (tastierino numerico) {INVIO}
ENTER ~
ESC {ESCAPE} o {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
FRECCIA SINISTRA {LEFT}
BLOCCO NUM {NUMLOCK}
PAGINA GIÙ {PGDN}
PAGINA SU {PGUP}
RETURN {RETURN}
FRECCIA DESTRA {RIGHT}
BLOC DI SCORRIMENTO {SCROLLLOCK}
SCHEDA {TAB}
FRECCIA SU {UP}
Da F1 a F15 Da {F1} a {F15}

Disponibilità per tipo di progetto

Tipo di progetto Disponibile
Applicazione Windows Yes
Biblioteca di classi Yes
Applicazione console Yes
Libreria di controlli Windows Yes
Libreria di controlli Web No
Servizio Windows Yes
Sito web No

Vedi anche

Si applica a

SendKeys(String, Boolean)

Invia una o più sequenze di tasti alla finestra attiva, come se digitate sulla tastiera.

public:
 void SendKeys(System::String ^ keys, bool wait);
public void SendKeys(string keys, bool wait);
member this.SendKeys : string * bool -> unit
Public Sub SendKeys (keys As String, wait As Boolean)

Parametri

keys
String

Oggetto String che definisce le chiavi da inviare.

wait
Boolean

Optional. Oggetto Boolean che specifica se attendere o meno l'elaborazione delle sequenze di tasti prima che l'applicazione continui. True per impostazione predefinita.

Eccezioni

Esiste una situazione di attendibilità parziale in cui l'utente non dispone delle autorizzazioni necessarie.

Esempio

In questo esempio viene usato il My.Computer.Keyboard.SendKeys metodo per inviare sequenze di tasti a un'applicazione esterna, ovvero l'applicazione Blocco note, avviata dal Shell metodo .

Dim ProcID As Integer
' Start the Notepad application, and store the process id.
ProcID = Shell("NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the Notepad application.
AppActivate(ProcID)
' Send the keystrokes to the Notepad application.
My.Computer.Keyboard.SendKeys("I ", True)
My.Computer.Keyboard.SendKeys("♥", True)
My.Computer.Keyboard.SendKeys(" Visual Basic!", True)
' The sentence I ♥ Visual Basic! is printed on Notepad.

Viene generata un'eccezione ArgumentException se non è possibile trovare un'applicazione con l'identificatore di processo richiesto.

La chiamata al metodo richiede l'attendibilità Shell totale (SecurityException classe ).

Commenti

Il My.Computer.Keyboard.SendKeys metodo fornisce funzionalità simili ai Send metodi e SendWait .

L'argomento wait è utile se l'altra applicazione deve terminare prima che l'applicazione possa continuare.

Note

Poiché non esiste alcun metodo gestito per attivare un'altra applicazione, è possibile usare questa classe all'interno dell'applicazione corrente, selezionare manualmente la finestra per inviare le chiavi oppure usare metodi API Windows, ad esempio FindWindow e SetForegroundWindow, per forzare lo stato attivo su altre applicazioni. Per altre informazioni, vedere Walkthrough: Chiamata di API Windows.

L'argomento keys può specificare qualsiasi tasto singolo o tasto combinato con ALT, CTRL o MAIUSC (o qualsiasi combinazione di tali tasti). Ogni tasto è rappresentato da uno o più caratteri, ad esempio a per il carattere "a" o {ENTER} per il tasto INVIO.

Per combinare un tasto con MAIUSC, precedere il codice del tasto con + (segno più). Per combinare un tasto con CTRL, precedere il codice del tasto con ^ (cursore). Per combinare un tasto con ALT, precedere il codice della chiave con % (segno di percentuale). Per specificare chiavi ripetute, usare il numero} di chiave del modulo{. È necessario inserire uno spazio tra chiave e numero. Ad esempio, {LEFT 42} significa "premere il tasto FRECCIA SINISTRA 42 volte"; {h 10} significa "premere 'h' 10 volte".

Nella tabella seguente sono elencati i codici che possono essere usati per specificare i caratteri che non vengono visualizzati quando si preme il tasto corrispondente, ad esempio INVIO o TAB.

Chiave Codice
BACKSPACE {BACKSPACE} o {BS}
BREAK {BREAK}
BLOC MAIUSC {CAPSLOCK}
CLEAR {CLEAR}
DELETE {DELETE} o {DEL}
FRECCIA VERSO IL BASSO {DOWN}
END {END}
INVIO (tastierino numerico) {INVIO}
ENTER ~
ESC {ESCAPE} o {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
FRECCIA SINISTRA {LEFT}
BLOCCO NUM {NUMLOCK}
PAGINA GIÙ {PGDN}
PAGINA SU {PGUP}
RETURN {RETURN}
FRECCIA DESTRA {RIGHT}
BLOC DI SCORRIMENTO {SCROLLLOCK}
SCHEDA {TAB}
FRECCIA SU {UP}
Da F1 a F15 Da {F1} a {F15}

Disponibilità per tipo di progetto

Tipo di progetto Disponibile
Applicazione Windows Yes
Biblioteca di classi Yes
Applicazione console Yes
Libreria di controlli Windows Yes
Libreria di controlli Web No
Servizio Windows Yes
Sito web No

Vedi anche

Si applica a