2015-02-04 6 views
2

У меня есть wscript, который посылает нажатие клавиши в активное окно.WshShell нажатие клавиши мультимедиа Следующая окно трека

У меня есть коды для нажатия клавиши для следующих ключей СМИ:

Vol + (код: & HAF)

Vol - (код: & Hae)

Пред дорожки (код: & HB1)

Следующий трек (код: & HB0) (не работает)

Play/Pause (код: & НВ3)

Но я не могу заставить его работать имитацию клавиши Next Track, я думаю, что это связано с 0 в шестнадцатеричном коде

Это код отправить клавиатурных клавиш:

'this script is working on W7 and W8  
Set WshShell = CreateObject("WScript.Shell") 
WshShell.SendKeys(chr(&hB0)) 'change the chr argument by any hex to send keystrokes to the active window 
Set WshShell = Nothing 

Я использовал в качестве основы эту ссылку, чтобы получить код: http://orlando.mvps.org/SendKeysMore.asp

проблема заключается в том, что вместо того, чтобы отправить нажатие клавиши «Медиа Next», это послать нажатие клавиши «°» в активное окно

Это гекс (& HB0) переводится в десятичную 176 и 176 отображается на °

помощь очень ценится.

Заранее благодарен

ответ

1

Я решил свою проблему. По какой-то причине я не мог заставить этот код работать.

Используя другой подход (и Google) Я нашел C сценарий

расположена здесь: https://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/

После проверки его, я изменил код может передать аргументы: размещены здесь: https://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/#comment-4808

Аргументы (ключевые коды) был взят из: https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

Я использовал Cygwin для компиляции кода, поэтому, если вы хотите запустить скомпилированный код на другой машине, вам понадобится cygwin1.dll в пути к классу.

+0

Благодарим за оформление вашего решения. Вы должны пометить свой ответ как принятый, используя значок «tick» слева от ответа. –

+0

Сделано! Готово! Готово! – papucho

 Смежные вопросы

  • Нет связанных вопросов^_^