Udostępnij za pośrednictwem


SendKeys.SendWait(String) Metoda

Definicja

Wysyła podane klucze do aktywnej aplikacji, a następnie czeka na przetworzenie komunikatów.

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)

Parametry

keys
String

Ciąg naciśnięć klawiszy do wysłania.

Uwagi

Służy SendWait do wysyłania naciśnięć klawiszy lub kombinacji naciśnięć klawiszy do aktywnej aplikacji i czekać na przetworzenie komunikatów naciśnięć klawiszy. Ta metoda umożliwia wysyłanie naciśnięć klawiszy do aplikacji i oczekiwanie na ukończenie wszystkich procesów, które są uruchamiane przez naciśnięcie klawiszy. Może to być ważne, jeśli inna aplikacja musi zakończyć się, zanim aplikacja będzie mogła kontynuować.

Uwaga

Ponieważ nie ma metody zarządzanej do aktywowania innej aplikacji, możesz użyć tej klasy w bieżącej aplikacji lub użyć natywnych metod systemu Windows, takich jak FindWindow i SetForegroundWindow, w celu wymuszenia koncentracji uwagi na innych aplikacjach.

Uwaga

Klasa SendKeys została zaktualizowana dla .NET Framework 3.0, aby włączyć jej użycie w aplikacjach uruchamianych w systemie Windows Vista. Ulepszone zabezpieczenia systemu Windows Vista (znane jako Kontrola konta użytkownika lub kontrola konta użytkownika) uniemożliwiają wykonanie poprzedniej implementacji zgodnie z oczekiwaniami.

Klasa jest podatna SendKeys na problemy z chronometrażem, które niektórzy deweloperzy musieli obejść. Zaktualizowana implementacja jest nadal podatna na problemy z chronometrażem, ale jest nieco szybsza i może wymagać zmian w obejściach. Klasa SendKeys próbuje najpierw użyć poprzedniej implementacji, a jeśli to się nie powiedzie, użyje nowej implementacji. W rezultacie SendKeys klasa może zachowywać się inaczej w różnych systemach operacyjnych. Ponadto, gdy SendKeys klasa używa nowej implementacji, SendWait metoda nie będzie czekać na przetworzenie komunikatów podczas ich wysyłania do innego procesu.

Jeśli aplikacja opiera się na spójnym zachowaniu niezależnie od systemu operacyjnego, możesz wymusić SendKeys użycie nowej implementacji przez dodanie następującego ustawienia aplikacji do pliku app.config.

<appSettings>

<add key="SendKeys" value="SendInput"/>

</appSettings>

Aby wymusić SendKeys użycie poprzedniej implementacji klasy, użyj wartości "JournalHook" .

Dotyczy