Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Эмуляция клавиатурных нажатий (LWINDOWN+R)

Ответить
Настройки темы
Эмуляция клавиатурных нажатий (LWINDOWN+R)

Пользователь


Сообщения: 78
Благодарности: 0

Профиль | Отправить PM | Цитировать


В справке по AutoIt -> Указатель функций -> Эмуляция клавиатурных нажатий в конце топика есть пример

Код: Выделить весь код
Send("#r")
WinWaitActive("Run")
Send("notepad.exe{Enter}")
WinWaitActive("Untitled -")
Send("Today's time/date is {F5}")
который не работает. Совершенно ясно, что нужно поменять для русскоязычного варианта XP:

Код: Выделить весь код
Send("#r")
WinWaitActive("Выполнить")
Send("notepad.exe{Enter}")
WinWaitActive("Безымянный -")
Send("Today's time/date is {F5}")
Но не понятно, как работает первая строка примера. В том же топике -

Цитата:
'#'
Этот символ используется в качестве символа простого разделения текста для облегчения чтения.
Т.е., как я понимаю генерируется нажатие клавиши {R}. Между тем для вызова диалогового окна "Выполнить"
нужно нажать клавиши LWIN+R.

Пробовал заменить первую строку примера на

1. Send("{LWIN}r")
2. Send("{LWINDOWN}r")
3. Send("{LWINDOWN}r{LWINUP}")

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

Отправлено: 23:16, 17-04-2010

 

Аватара для zonderz

Ветеран


Сообщения: 727
Благодарности: 150

Профиль | Отправить PM | Цитировать


avmir,

Цитата avmir:
Совершенно ясно, что нужно поменять для русскоязычного варианта XP: »
Цитата avmir:
WinWaitActive("Выполнить") »
у вас ОС какая? в русской xp sp2 например там другая надпись

Цитата avmir:
Но не понятно, как работает первая строка примера. В том же топике - »
как? просто! - The hash now sends a Windows keystroke; therefore, Send("#r") would send Win+r which launches the Run dialog box.

ЧТО не понятно-то?? что такое символ комментирования или что?

работа этого кода зависит от:
локали, текущего включенного языка и раскладки, версии ОС

у меня xpsp2en код работает, переключаю язык - нет
в висте ру в любой раскладке (ваш код) работает

хотите подогнать скрипт под все ОС? ню-ню

-------
MCP, MCSA, MCSE, разработчик программы CMDTools
http://forum.oszone.net/thread-170783.html


Отправлено: 23:36, 17-04-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 78
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата zonderz:
хотите подогнать скрипт под все ОС »
Я не хочу
Хотя бы, потому, что только начал знакомство с AutoIt.

zonderz, спасибо! Установка английского по-умолчанию - помогла.
А нет ли варианта менять язык прямо в скрипте?
Я попробовал через Send сэмулировать нажатие Shift+Alt - не помогло...

P.S. Интересно, что нажатие LWIN+R работает при любой раскладке. Как еще можно эмулировать их нажатие?

Отправлено: 14:50, 18-04-2010 | #3


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я решил проблему так, может быть и глупо, но выход)) (Ось: Win7)
Код: Выделить весь код
; ----------Смена языка на Английский по-умолчанию----------
$win=WinExists ("Выполнить")
Send ("#к")
if $win=0 Then
	Send ("#r")
EndIf
	
WinWaitActive("Выполнить")
Sleep (100)
Send ("{BS}")
Send("{ASC 099}{ASC 111}{ASC 110}{ASC 116}{ASC 114}{ASC 111}{ASC 108}{ASC 032}{ASC 105}{ASC 110}{ASC 116}{ASC 108}{ASC 046}{ASC 099}{ASC 112}{ASC 108}{ASC 044}{ASC 044}{ASC 050}{Enter}")
WinWaitActive("Язык и региональные стандарты")
Send ("{ENTER}")
WinWaitActive("Языки и службы текстового ввода")
Send ("{UP}")
Sleep (200)
Send ("{ENTER}")
WinWaitActive("Язык и региональные стандарты")
Send ("{ESC}")
;-----------------------------------------------------------

Последний раз редактировалось Luck_DMST, 11-02-2011 в 14:44. Причина: добавил ОСь


Отправлено: 14:40, 11-02-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Эмуляция клавиатурных нажатий (LWINDOWN+R)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Отслеживание нажатий клавиш на клавиатуре (чтоб узнать код нажатой клавиши) beve AutoIt 17 23-03-2015 02:14
[решено] Глобальный перехват нажатий клавиатуры в 3D приложениях (вчасности TES 4 Oblivion) crashtuak AutoIt 3 31-10-2009 11:16
Разное - [решено] Залипает мышь после нажатия клавиатурных сочетаний Dirk Diggler Microsoft Windows 2000/XP 9 20-04-2009 10:22
Разное - Залипает мышь после нажатия клавиатурных сочетаний Dirk Diggler Microsoft Windows 2000/XP 0 16-04-2009 08:06
Запрет Нажатий И Выделений Mozilla Вебмастеру 9 26-03-2003 17:13




 
Переход