SendKeys.SendWait(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Invia i tasti indicati all'applicazione attiva e successivamente attende l'elaborazione dei messaggi.
public:
static void SendWait(System::String ^ keys);
public static void SendWait (string keys);
static member SendWait : string -> unit
Public Shared Sub SendWait (keys As String)
Parametri
- keys
- String
Stringa delle sequenze di tasti da inviare.
Commenti
Usare SendWait per inviare sequenze di tasti o combinazioni di sequenze di tasti all'applicazione attiva e attendere l'elaborazione dei messaggi di sequenza di tasti. È possibile usare questo metodo per inviare sequenze di tasti a un'applicazione e attendere il completamento di tutti i processi avviati dalle sequenze di tasti. Questo può essere importante 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 o usare metodi windows nativi, ad esempio FindWindow
e SetForegroundWindow
, per forzare lo stato attivo su altre applicazioni.
Nota
La classe SendKeys è stata aggiornata per .NET Framework 3.0 per consentirne l'uso in applicazioni eseguite in Windows Vista. La sicurezza avanzata di Windows Vista (nota come Controllo dell'account utente) impedisce alla precedente implementazione di funzionare come previsto.
La classe SendKeys è soggetta a problemi di temporizzazione, che alcuni sviluppatori hanno dovuto risolvere. L'implementazione aggiornata è ancora soggetta a problemi di temporizzazione, ma è leggermente più veloce e può richiedere modifiche alle soluzioni alternative. La classe SendKeys cerca di usare prima l'implementazione precedente e, se il tentativo non riesce, usa la nuova implementazione. Di conseguenza, il comportamento della classe SendKeys potrebbe essere diverso a seconda del sistema operativo. Inoltre, quando la classe SendKeys usa la nuova implementazione, il metodo SendWait non attenderà che i messaggi siano elaborati quando vengono inviati a un altro processo.
Se l'applicazione si basa su un comportamento coerente indipendentemente dal sistema operativo, è possibile forzare la classe SendKeys a usare la nuova implementazione aggiungendo la seguente impostazione applicazione al file app.config.
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
Per forzare la classe SendKeys a usare l'implementazione precedente, usare invece il valore "JournalHook"
.