Метод (string) ()

Кожна клавіша може бути представлена ​​одним або декількома символами. Щоб вказати одиночний знак клавіатури, використовуйте сам символ. Наприклад для подання букви A, передайте рядок «A» в метод. Щоб уявити кілька символів, додайте до попереднього кожен додатковий символ. Для уявлення букви A, B і C, вкажіть параметр від «ABC».

Знак плюс (+), знак вставки (^), знак відсотка (%), тильда (

) І круглі дужки () мають спеціальне значення для SendKeys. Щоб вказати один з цих символів, його слід укладіть в фігурні дужки (<>). Наприклад щоб вказати знак «плюс», використовуйте «». Щоб вказати фігурні дужки, використовуйте «» і «<>> ». Квадратні дужки ([]) не мають особливого сенсу для SendKeys. але їх необхідно укласти в фігурні дужки. В інших додатках квадратні дужки мають спеціальне значення, що може бути критичним при виникненні динамічного обміну даними (DDE).

Якщо додаток призначений для міжнародного використання з різними клавіатурами, застосування методу Send може мати непередбачувані результати і його слід уникати.

Щоб вказати символи, які не відображаються при натисканні відповідних клавіш, наприклад такі, як ENTER (ВВЕДЕННЯ) або TAB, а так же клавіші, які представляють дії, а не символи, використання кодів, наведені в наступній таблиці.

Щоб вказати, що в поєднанні з натисненими клавішами SHIFT, CTRL або ALT вводяться послідовно кілька клавіш, укладіть коди цих клавіш в дужки.

Наприклад, щоб вказати, утримуючи клавішу SHIFT, E і C натискаються, використовувати «+ (EC)». Для вказівки, утримуючи клавішу SHIFT, E натискається слідують C без SHIFT, використовуйте рядок «+ EC».

Щоб вказати повторення введення однієї і тієї ж клавіші, використовуйте формат.

Необхідно вставити пробіл між ключем і номер. Наприклад означає натискання клавіші Стрілка вліво 42 рази; означає натискання клавіші H 10 разів.

Оскільки відсутня керований метод для активації іншої програми, можна використовувати цей клас в поточному додатку або використовувати власні методи Windows, такі як FindWindow і SetForegroundWindow. для примусової установки фокусу на інші додатки.

Клас SendKeys був оновлений в .NET Framework 3.0, що дозволило використовувати його в додатках, що працюють в Windows Vista. Посилена система безпеки Windows Vista (відома як контроль облікових записів або UAC) не дозволяє попередньої реалізації працювати належним чином.

Клас SendKeys схильний проблем з часом, які довелося вирішувати деяким розробникам. Оновлена ​​реалізація як і раніше схильна до цих проблем, але вона працює трохи швидше, тому що існують рішення може знадобитися переробити. Клас SendKeys спочатку намагається використовувати попередню реалізацію, і якщо це не вдається, використовує нову реалізацію. В результаті клас SendKeys може працювати по-різному в різних операційних системах. Крім того, при використанні нової реалізації класу SendKeys метод SendWait не чекатиме обробки повідомлень, якщо вони відправляються іншому процесу.

Якщо необхідно забезпечити узгоджена поведінка додатки незалежно від операційної системи, можна змусити клас SendKeys використовувати нову реалізацію, додавши вказаний нижче параметр додатки в файл app.config.

Для примусового використання класом SendKeys попередньої реалізації задайте значення "JournalHook".

У наступному прикладі коду демонструється використання Send методу. Щоб запустити приклад, вставте наступний код в форму з ім'ям Form1 містить кнопку з ім'ям Button1. Переконайтеся, що події click пов'язані з їх методи обробки подій в цьому прикладі. Елемента управління button TabIndex властивість має бути рівним 0. При запуску прикладу двічі клацніть форму, щоб викликати click кнопки подій.

Схожі статті