Condividi tramite


SendKeys.SendWait(String) Metodo

Definizione

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" .

Si applica a