Страница 3 из 4
Добавлено: Вт июл 10, 2012 19:16
Lazy Crazy
Rodny писал(а):Flasher
Так это ты назначил. А по умолчанию Win+X открывает Центр мобильности, на мобильных девайсах, само собой

Конечно и на настольных мог бы работать, если бы его поставили - только там сугубо ноутбучные параметры: настройка яркости экрана, вкл/выкл wi-fi и bluetooth, вывод изображения на внешний монитор и т.п. Производители любят стандартный центр расширять под свои девайсы…
Вахмурка писал(а):Большая просьба ко всем дискутирующим: кто обнаружит на бескрайних просторах информационной помойки по имени "интернет" список ВСЕХ системных горячих клавиш по ВСЕМ версиям Windows со ВСЕМИ необходимыми пояснениями типа "Навести курсор в угол", "Только для мобильных устройств" и пр.: поместите сюда ссылку, буду очень благодарен. И судя по оживленности обсуждения, не я один.
Столь полного списка не видел, но в дополнение к тому, что выкладывал выше (для windows 7), могу предложить опять-таки с первоисточника
сочетания для windows xp, и для
vista.
Добавлено: Вт июл 10, 2012 19:52
Вахмурка
Но это не объясняет, что в Тотале нельзя назначить команду на Win+Y, например. Значит, есть какая-то операция в винде, повешенная на это сочетание. Если оно зарезервировано, контекстно зависимо или заблокировано потому, что мелкомягкому программисту просто не нравится буква Y, это должно быть указано в том перечне, который я ищу. Ведь не только Тотал позволяет вешать на клавиши свои команды.
Добавлено: Вт июл 10, 2012 21:15
MVV
Lazy Crazy писал(а):Конечно и на настольных мог бы работать, если бы его поставили - только там сугубо ноутбучные параметры: настройка яркости экрана, вкл/выкл wi-fi и bluetooth, вывод изображения на внешний монитор и т.п. Производители любят стандартный центр расширять под свои девайсы…
У меня Win+X на ультиматной винде работает и дома и на работе, и там и там нормальные компы, не портативные.
Вахмурка писал(а):Но это не объясняет, что в Тотале нельзя назначить команду на Win+Y, например. Значит, есть какая-то операция в винде, повешенная на это сочетание. Если оно зарезервировано, контекстно зависимо или заблокировано потому, что мелкомягкому программисту просто не нравится буква Y, это должно быть указано в том перечне, который я ищу. Ведь не только Тотал позволяет вешать на клавиши свои команды.
У меня по Win+Y срабатывает команда утилиты Volume Hotkey, значит, ей удалось зарегистрировать комбинацию, значит, она не занята.
Добавлено: Вт июл 10, 2012 23:34
Flasher
MVV писал(а):У меня по Win+Y срабатывает команда утилиты Volume Hotkey, значит, ей удалось зарегистрировать комбинацию, значит, она не занята.
Нет, это значит, что хоткей глобальный.
Добавлено: Ср июл 11, 2012 00:08
Вахмурка
2
MVV,
Flasher
Тогда почему Volume Hotkey позволено вешать на эту комбинацию свою конманду, а Тоталу - нет?
Впрочем, я догадываюсь. Видимо, и Volume Hotkey, и TWinKey "лезут" глубже в систему, соответственно, с бОльшим риском (об этом говорилось, например,
здесь).
Так ли это?
И еще вопрос. Выходит, что комбинация Win+Y "свободна", и Win+A тоже. Но У Тотала с последней - никаких проблем, с первой - извините. Значит, Win+Y "менее свободна"? Почему? Выходит, по Оруэллу, все незанятые комбинации равны, но некоторые равнее других?
Добавлено: Ср июл 11, 2012 00:40
Flasher
Вахмурка писал(а):Так ли это?
Да. Но риск понятие растяжимое, для Твинки - это особый случай. И вообще глобальные хоткеи сопутствуют многим программам из трея (будь то скрипты, ланчбары, утилиты), спектр тут огромный. PowerPro возьми тот же.
Вахмурка писал(а):Выходит, что комбинация Win+Y "свободна"
Эта комбинация ждёт установку яху-мессенджера, который по ней и будет запускаться.
Добавлено: Ср июл 11, 2012 06:08
Lazy Crazy
MVV писал(а):
У меня Win+X на ультиматной винде работает и дома и на работе, и там и там нормальные компы, не портативные.
Так я и говорю - будет работать, если поставят. Поставили или OEM-сборщики или авторы сборки windows…

Если не секрет - этот центр кроме регулировки громкости и (возможно) параметров синхронизации с телефоном что-то даёт?
Добавлено: Ср июл 11, 2012 10:06
MVV
Flasher писал(а):Нет, это значит, что хоткей глобальный.
Глобальные хоткеи регистрируются функцией
RegisterHotKey, а локальные - просто реакцией на посыл окну клавиши при нужных зажатых модификаторах.
И, если глобальный хоткей зарегистрирован, окно не получает сообщения о зажатии клавиши, участвующей в хоткее.
Т.е., если винда зарегистрировала комбинацию Win+X, окно тотала не получит сообщение о зажатии клавиши X при зажатом модификаторе Win (получит только сообщение о зажатии модификатора). Следовательно, если глобальный хоткей зарегистрирован, его локальное использование невозможно, как впрочем и глобальное другим приложением (кто первый встал, того и тапки).
Проверить, получает ли тотал хоткей, легко. Берём Spy++ (входит в состав Visual Studio, наверняка можно найти отдельно) или любой другой сканер оконных сообщений, натравливаем на окно тотала, активируем окно тотала и нажимаем хоткей. Я сейчас проверял с калькулятором. При нажатии комбинации Win+' я вижу зажатия Win и ', при нажатии комбинации Win+R я вижу только зажатие Win, при комбинации Win+X или Win+Y я вижу зажатие Win и отжатие X или Y (интересно, почему в случае с Win+R я не вижу отжатия R, видимо потому, что калькулятор к тому моменту уже теряет фокус)...
Добавлено: Ср июл 11, 2012 13:40
Вахмурка
окно тотала не получит сообщение о зажатии клавиши X при зажатом модификаторе Win (получит только сообщение о зажатии модификатора).
Тогда бы в Тотале вылезала стандартная Win-менюшка, как если нажать просто Win. А Тотал, наоборот, получает только Х.
Добавлено: Ср июл 11, 2012 21:10
MVV
Система в любом случае знает, что это комбинация Win+X, а не просто клавиша Win, и главное меню при этом не отображается (ведь не тотал по клавише Win меню показывает, а проводник, которому система сообщает о нажатии и отжатии клавиши Win без других клавиш).
А если тотал получает X, значит, комбинация никем не занята. Если бы была занята, тотал бы получал только Win, а X бы не получал (т.к. нажатие X при зажатой Win система бы обрабатывала сама, до того как сообщить об этом нажатии активному приложению).
Добавлено: Ср июл 11, 2012 22:18
Flasher
MVV писал(а):И, если глобальный хоткей зарегистрирован, окно не получает сообщения о зажатии клавиши, участвующей в хоткее.
Только в том случае, если этот хоткей сам не является глобальным. Впрочем, это никак не противоречит моему утверждению.
Добавлено: Чт июл 12, 2012 00:14
MVV
Аж интересно, как глобальный хоткей может не являться глобальным.
Если комбинация не зарегистрирована как глобальный хоткей, активное окно получает сообщение о зажатии и отжатии каждой клавиши, участвующей в комбинации. Т.е., на примере Win+X, зажатие Win, зажатие X, отжатие X, отжатие Win. И обрабатывается обычно такая комбинация на сообщение о зажатии X, при этом проверяется, что Win зажата.
Если же комбинация зарегистрирована как глобальный хоткей, активное окно получит лишь зажатие Win, возможно отжатие X и отжатие Win. Зажатия X окно не получит, система обработает его сама и сообщит о событии приложению, зарегистрировавшему глобальный хоткей.
Комбинация может быть зарегистрирована как глобальный хоткей только 1 раз, повторная регистрация не удастся.
Хе-хе, оказалось, у меня Win+X обрабатывала Volume Hotkey, а не проводник... Выгрузил - и комбинация перестала что-либо делать. И стала работать в тотале. А после запуска Volume Hotkey снова перестала работать в тотале, как и ожидалось.
Добавлено: Пт июл 13, 2012 11:29
Flasher
MVV писал(а):Аж интересно, как глобальный хоткей может не являться глобальным.
MVV писал(а):зажатии клавиши, участвующей в хоткее
Я это воспринимаю, как хоткей иного приложения, не того, которым зарегистрирован глобальный.
Добавлено: Пт июл 13, 2012 17:49
MVV
Так на комбинации клавиш можно реагировать всего 2 способами: из оконной процедуры активного окна и по глобальному хоткею. Неактивные окна не получают никаких сообщений о нажатии клавиш. Теоретически, есть ещё хуки, которые вызываются перед оконной процедурой, но они вроде не могут блокировать дальнейшую передачу сообщения.
Добавлено: Пт июл 13, 2012 17:59
Flasher
MVV писал(а):Неактивные окна не получают никаких сообщений о нажатии клавиш.
Если бы оно было так, то никаких AHK, сервисов драйверов клавиатуры, Listary, TLB, QTranslate, Volumouse, MediaKey и многих-многих других не было бы и в помине.