SendKeys.SendWait(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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"
.