SendKeys.SendWait(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отправляет данные об указанных клавишах активному приложению и ожидает окончания обработки сообщений.
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)
Параметры
- keys
- String
Строка, содержащая отправляемые данные о нажатиях клавиш.
Комментарии
Используйте для SendWait отправки нажатий клавиш или сочетаний нажатий клавиш активному приложению и ожидании обработки сообщений нажатия клавиш. Этот метод можно использовать для отправки нажатий клавиш в приложение и ожидания завершения всех процессов, запущенных нажатием клавиш. Это может быть важно, если другое приложение должно завершить работу, прежде чем приложение сможет продолжить работу.
Примечание
Так как не существует управляемого метода для активации другого приложения, можно использовать этот класс в текущем приложении или собственные методы Windows, такие как FindWindow
и SetForegroundWindow
, для принудительного фокусировки на других приложениях.
Примечание
Класс SendKeys был обновлен в .NET Framework 3.0, что позволило использовать его в приложениях, работающих в Windows Vista. Усиленная система безопасности Windows Vista (известная как контроль учетных записей или UAC) не позволяет предыдущей реализации работать должным образом.
Класс SendKeys подвержен проблемам со временем, которые пришлось решать некоторым разработчикам. Обновленная реализация по-прежнему подвержена этим проблемам, но она работает немного быстрее, поэтому существующие решения может потребоваться переработать. Класс SendKeys сначала пытается использовать предыдущую реализацию, и если это не удается, использует новую реализацию. В результате класс SendKeys может работать по-разному в разных операционных системах. Кроме того, при использовании новой реализации класса SendKeys метод SendWait не будет дожидаться обработки сообщений, если они отправляются другому процессу.
Если необходимо обеспечить согласованное поведение приложения независимо от операционной системы, можно заставить класс SendKeys использовать новую реализацию, добавив указанный ниже параметр приложения в файл app.config.
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
Для принудительного использования классом SendKeys предыдущей реализации задайте значение "JournalHook"
.