>>>Подписаться на обновления блога!<<<

9 комментариев к записи “Объект WScript.Shell метод SendKeys - имитация нажатия клавиш”

  1. Кишиневский курьер says:

    Здравствуйте.
    Скажите пожалуйста, а как сымитировать нажатие клавиши Fn на ноутбуках? никак не могу найти ответа на данный вопрос.
    Заранее спасибо.

    • Владимир Баталий says:

      К сожалению, средствами Windows Script Host этого не сделать, видимо, во времена разработки сервера WSH функциональная клавиша Fn еще не использовалась и возможности имитировать что то типа Fn+F7 нет. Ну, по крайней мере, я тоже ничего не нашел. :(

    • Справка says:

      Скачайте программу ATNSOFT Key Manager (платная, но есть портативная взломанная). Или бесплатную AutoHotkey, но тут сложнее, если вообще получится.

  2. Евгений says:

    Приветствую, Владимир!
    Подскажи почему метод SendKeys не работает с русской раскладкой, только на английской. На русской получается какая-то белиберда. Все что связано с кодировкой уже перепробовал. ОС - 7.

    • Владимир Баталий says:

      Евгений, на самом деле, функция SendKeys работает и с русской раскладкой, просто есть такой изъян:

      Допустим, мы передали функции русский символ "п", при русской раскладке функция вернет именно этот символ, но, если раскладка английская, то функция вернет символ "g". То есть, будет нажата та же клавиша, но в зависимости от раскладки, будет возвращаться тот символ, который к ней привязан.

  3. Руслан says:

    Приветствую, Владимир! подскажите, как запустить клавишу пробел на повтор?
      echo Chr(39)>%temp%\temp1.vbs
      echo Chr(39)>%temp%\temp2.vbs
      echo on error resume next > %temp%\temp.vbs
      echo Set S = CreateObject("Wscript.Shell") >> %temp%\temp.vbs
      echo set FSO=createobject("scripting.filesystemobject")>>%temp%\temp.vbs
      echo do >> %temp%\temp.vbs
      echo wscript.sleep 200 >> %temp%\temp.vbs
      echo s.sendkeys"{Space}" >> %temp%\temp.vbs
      echo loop>> %temp%\temp.vbs
      start %temp%\temp.vbs
      start %temp%\temp1.vbs
      start %temp%\temp2.vbs

  4. Vit says:

    А как прервать выполнение скрипта (например по нажатию Esc) ?

  5. Эдуард says:

    Здравствуйте Владимир,
    Как имитировать нажатия на клавиши дополнительной цифровой клавиатуры Ctrl + Shift + Num-?
    WshShell.SendKeys("(^+{NUMPAD-})")  - не работает
    WshShell.SendKeys("(^+{SUBTRACT})")  - не работает

  6. Артем says:

    А у меня вместо английских букв выводится что попало.
    Как сделать, что бы выводился текст английскими буквами?

Оставить комментарий

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:

Перед отправкой формы: