SendKeys в VBScript и Fn


Недавно появился у меня ноутбук Samsung (350e5c-s06ru). Настроил я его для работы, установил ОС, драйвера и необходимые программы, все в прядке. Но заметил особенность: при подключении мыши не отключается тачпад. Довольно неудобно, на своем основном рабочем ноутбуке Acer есть возможность включить данную опцию, а вот на данном самсунге не нашел. Ну что ж, если нет, то может, сделать самостоятельно? Тем более, задача выглядит несложной: создать программу, которая при запуске будет нажимать две клавиши: Fn + F5 – это активация/деактивация тачпада. Программист я или где? Однако, задача оказалась совсем не такой простой…

Итак, первое, что пришло в голову – это создать простенький скрипт vbs, поставить его в автозагрузку и ..и все. Сказано – сделано.

Создаем новый текстовый документ, называем его, к примеру, sc.vbs и заполняем следующим текстом:

set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.SendKeys "%{F5}"


Теперь данный файлик можно прописать в автозагрузке, и он будет имитировать нажатие «CTRL+ F5» на клавиатуре. Метод SendKeys в VBScript используется для отправки нажатий клавиш в текущее активное окно, как если бы они набирались с клавиатуры.

Одиночные буквенно-цифровые нажатия клавиш можно просто указать, используя строковое представление требуемого символа. Например, чтобы отправить букву S, команда будет object.SendKeys "S".

Для отправки нескольких символов их объединяют в одну строку. Например, для отправки A, B и C команда будет object.SendKeys "ABC".

Знак плюса «+», «кавычки», знак процента «%», тильда «~» и круглые скобки «()» имеют особые значения и должны быть заключены в фигурные скобки «{}". Квадратные скобки "[]" также должны быть заключены в фигурные скобки, хотя они не имеют особого значения. Чтобы указать символы скобок, используйте «{{}» и «{}}».

Есть специальная таблица символов, которые не могут быть непосредственно представлены символом клавиатуры для использования одного из них необходимо указать соответствующий код. Например, Home – {HOME}.



Стоп-стоп, скажите вы – нам же нужна клавиша Fn - где она? И правильно спросите. А я вам отвечу, что её нет. Вот так просто нет. Fn – это особая клавиша модификатор и с помощью VBScript нажать её, увы, не получится.

Что же делать?

Есть два варианта. Первый – это самый простой: посмотреть в программах и/или драйверах для самсунга (этой модели) и попробовать найти подходящую. Второй – это все же попробовать эмулировать нажатие данной комбинации клавиш, но на более низком уровне. Не скриптовом языке программирования, а, к примеру, С# .NET. Этим мы и займемся, но уже в следующих статьях.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, личное, VBScript




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Перенаправление для мобильных устройств с помощью .htaccess
Как научиться Java
Алгоритм Стайна