Condividi tramite


Keyboard.SendKeys Metodo

Definizione

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

Overload

SendKeys(String)

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

SendKeys(String, Boolean)

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

SendKeys(String)

Invia una o più sequenze di tasti alla finestra attiva, come se fossero premuti 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

String che definisce i tasti da inviare.

Eccezioni

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

Esempio

In questo esempio viene utilizzato il My.Computer.Keyboard.SendKeys metodo per inviare le sequenze di tasti a un'applicazione esterna, 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 del processo richiesto.

La chiamata al metodo richiede l'attendibilità Shell completa (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.

Nota

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 a o usare i metodi api di Windows, ad esempio FindWindow e SetForegroundWindow, per forzare lo stato attivo su altre applicazioni. Per altre informazioni, vedere Procedura dettagliata: Chiamata alle API di Windows.

L'argomento keys può specificare qualsiasi tasto singolo o qualsiasi tasto combinato con ALT, CTRL o MAIUSC (o qualsiasi combinazione di tali tasti). Ogni chiave è rappresentata 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 della chiave 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 utilizzati 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 GIÙ {DOWN}
END {END}
INVIO (tastierino numerico) {INVIO}
INVIO ~
ESC {ESCAPE} o {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
FRECCIA SINISTRA {LEFT}
BLOCCO NUM {NUMLOCK}
PGGIÙ {PGDN}
PGSU {PGUP}
RETURN {RETURN}
FRECCIA DESTRA {RIGHT}
BLOC DI SCORRIMENTO {SCROLLLOCK}
TAB {TAB}
FRECCIA SU {UP}
Da F1 a F15 Da {F1} a {F15}

Disponibilità per tipo di progetto

Tipo di progetto Disponibile
Applicazione Windows
Libreria di classi
Applicazione console
Libreria di controlli Di Windows
Libreria di controlli Web No
Servizio Windows
Sito Web No

Vedi anche

Si applica a

SendKeys(String, Boolean)

Invia una o più sequenze di tasti alla finestra attiva, come se fossero premuti 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

String che definisce i tasti da inviare.

wait
Boolean

facoltativo. Valore Boolean che specifica se attendere o meno l'elaborazione della sequenza di tasti prima che l'applicazione proceda. True per impostazione predefinita.

Eccezioni

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

Esempio

In questo esempio viene utilizzato il My.Computer.Keyboard.SendKeys metodo per inviare le sequenze di tasti a un'applicazione esterna, 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 del processo richiesto.

La chiamata al metodo richiede l'attendibilità Shell completa (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.

Nota

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

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

Per combinare una chiave con MAIUSC, precedere il codice della chiave con + (segno più). Per combinare un tasto con CTRL, precedere il codice della chiave con ^ (caret). Per combinare una chiave con ALT, precedere il codice della chiave con % (segno 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 GIÙ {DOWN}
END {END}
INVIO (tastierino numerico) {ENTER}
INVIO ~
ESC {ESCAPE} o {ESC}
HELP {HELP}
HOME {HOME}
INS {INSERT}
FRECCIA SINISTRA {LEFT}
BLOCCO NUM {NUMLOCK}
PGGIÙ {PGDN}
PGSU {PGUP}
RETURN {RETURN}
FRECCIA DESTRA {RIGHT}
SCORRIMENTO BLOCCO {SCROLLLOCK}
TAB {TAB}
FRECCIA SU {UP}
F1 a F15 {F1} tramite {F15}

Disponibilità in base al tipo di progetto

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

Vedi anche

Si applica a