Доброго времени суток!
Подскажите, как решить следующую задачу: внедрить или переназначить в совершенно стороннем приложении горячие кнопки? Для примера возьмем тот же Explorer, который со времен Vista переставил "переход на уровень выше" с Backspace на Alt+Up. Нарисовал такой вот скриптик:
Добавлю, что на машине (Win7) установлен ClassicShell и ClassicShell.UpButton - его кусок. Впрочем, он здесь используется лишь для того, чтобы удостовериться, что окошко эксплорера, что можно узнать и иным способом.
Все здорово, но есть одно но - скрипт перехватывает все нажатия на Backspace! Что, мягко говоря, приносит больше вреда, чем пользы.
Конечно, можно использовать другое, редкое сочетание. Например - Alt+Backspace. Но это уже не то. Вот и интересует - можно ли средствами AutoIt реализовать полноценную замену кнопок или для этого лучше поискать другие средства?
Или в данном конкретном случае придется извращаться, каким-нибудь образом отлавливая, что в данный момент не происходит редактирование имени файла, изменение поля адреса или строки поиска, и только после этого отсылать Alt+Up, а в противном случае - Backspace?
Подскажите, как решить следующую задачу: внедрить или переназначить в совершенно стороннем приложении горячие кнопки? Для примера возьмем тот же Explorer, который со времен Vista переставил "переход на уровень выше" с Backspace на Alt+Up. Нарисовал такой вот скриптик:
Код:
HotKeySet("{Backspace}", "ToUp")
While 1
Sleep(65535)
WEnd
Func ToUp()
HotKeySet("{Backspace}")
$win = WinGetHandle("")
if (StringInStr(WinGetClassList($win), "ClassicShell.UpButton") <> 0) Then
Send("!{Up}")
EndIf
HotKeySet("{Backspace}", "ToUp")
EndFunc
Добавлю, что на машине (Win7) установлен ClassicShell и ClassicShell.UpButton - его кусок. Впрочем, он здесь используется лишь для того, чтобы удостовериться, что окошко эксплорера, что можно узнать и иным способом.
Все здорово, но есть одно но - скрипт перехватывает все нажатия на Backspace! Что, мягко говоря, приносит больше вреда, чем пользы.
Конечно, можно использовать другое, редкое сочетание. Например - Alt+Backspace. Но это уже не то. Вот и интересует - можно ли средствами AutoIt реализовать полноценную замену кнопок или для этого лучше поискать другие средства?
Или в данном конкретном случае придется извращаться, каким-нибудь образом отлавливая, что в данный момент не происходит редактирование имени файла, изменение поля адреса или строки поиска, и только после этого отсылать Alt+Up, а в противном случае - Backspace?