1

Давайте рассмотрим следующий сценарий: на моем настольном компьютере у меня открыто два приложения, браузер и текстовый редактор (половина размера дисплея для каждого приложения).

Как я могу переключаться между этими двумя приложениями, но без использования alt-tab или win-tab или щелчков мышью?

Если на Windows XP или Vista нет ничего по умолчанию, то как я могу сделать это программно, используя c++? Например, нажмите alt+l(или alt+1), чтобы активировать левое окно, и alt+r(alt+2), чтобы активировать правое окно.

Спасибо

4 ответа4

4

Создайте скрипт AutoHotKey, чтобы получить эти сочетания клавиш и активировать нужную программу.

3

Если у вас есть дескрипторы этих окон, вы можете использовать SetForegroundWindow.

Вы можете получить дескриптор окна, если вы знаете заголовок с FindWindow. В этой статье объясняется, как получить дескриптор окна, если вы частично знаете заголовок (не точное совпадение), хотя я никогда не пробовал.

Для ваших горячих клавиш посмотрите SetWindowsHookEx с WH_KEYBOARD в качестве типа ловушки. Вы создадите KeyboardProc, который Windows будет вызывать при нажатии клавиш. Здесь вы можете захватить ваши конкретные комбинации клавиш и активировать определенные окна.

Тем не менее, Windows предоставляет горячие клавиши для вас, как указано в других ответах.

2

В Windows 7 вы можете переключиться на любой из первых десяти элементов на панели задач (независимо от того, запущен он или нет), нажав Windows+(1..0). Вы можете перетаскивать элементы панели задач вокруг, чтобы изменить порядок.

1

Используйте этот скрипт AutoHotKey:

~LAlt & Tab::Send ^#{Tab}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .