Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разное тестирование > Blcock Keyboard Keys (блокирует CapsLock и Insert) |
Автор: Ciber SLasH 28.3.2006, 17:09 |
Программа выполняет покамест 2 действия: 1) блокирует клавишу CapsLock 2) блокирует клавишу Insert Есть возможность отключить блокировку и прописать/удалить в/из автозагрузки. Нужен тест, а то у меня в WinXP Pro SP2 Ru Corp работает без проблем, но как оказалось, не у всех работает стабильно, а именно блокируется переключение раскладок клавиатуры Рус/Лат по Ctrl+Shift (у меня данной проблемы нет). |
Автор: timer 28.3.2006, 20:20 |
Прога хорошая... давно такую хотел... Но смена раскладки действительно блокируется... У меня: ОС - WinXP Pro SP1 русская смена раскладки - Ctrl+Shift |
Автор: Ciber SLasH 29.3.2006, 00:07 |
Действительно, WinXP SP1 глюк с переключением раскладок. Будем фиксить... Добавлено [29.03.2006 - 3:00] Как оказалось виновата винда, а не прога. ![]() Оказывается, если не включить галочку "Выключить дополнительные текстовые службы", которая находится по адресу: "Панель управления > Язык и региональные стандарты > вкладка: Языки > кнопка: Подробнее > вкладка: Дополнительно > вторая галочка", то переключение языков не работает не то что в моей проге, но и в самой Delphi 7... подозреваю, что и в других программах работать не будет. Но, при установки этой галочки есть побочный эффект — языковая панель исчезает и не понятно какая сейчас раскладка. В качестве альтернативы, предлогаю заюзать программу http://www.punto.ru/switcher/ У меня стоит Punto Switcher и я не знаю бед, да и программа достойна уважения, очень помогает. |
Автор: Ciber SLasH 29.3.2006, 09:18 | ||
Удастся, если поставить галочку "Выключить дополнительные текстовые службы" (расположение галочки смотри в предыдущем посте). |
Автор: timer 29.3.2006, 13:26 | ||
Не работает... |
Автор: Ciber SLasH 29.3.2006, 15:19 |
Опять пришли туда, откуда начали... ![]() Поставил себе WinXP Pro SP1 Ru Corp — у меня, опять же, с установленной галочкой всё работает. Может мы о разных галочках говорим? Я вот какую галочку ставлю: Добавлено @ 15:25 Понял свою ошибку, я когда писал, перепутал название галочки. Она называется "Выключить дополнительные текстовые службы". ![]() |
Автор: timer 29.3.2006, 18:58 |
Мы говорим об одних и тех же галочках... У меня стоит точно так же как и у тебя... и НЕ работат ![]() |
Автор: Ciber SLasH 29.3.2006, 19:57 |
ОК, тогда вопрос на засыпку: вот с этой программой будет у тебя работать переключение раскладки с учётом поставленной злосчастной галочки? |
Автор: ivashkanet 29.3.2006, 21:55 | ||
Такой глюк был у меня на первом SP и без твоей программы. Лечилось закрытием языковой панели (где Ru/En): Правая --> Закрыть языковую панель --> Ты точно хочешь ее закрыть?-->Да. ![]() После того как она убирается с экрана все чикипуки. А PuntoSwitcher крутая программа, незнаю как бы без неё жил ![]() Так что твоя программа не причем ![]() P.S. Второй пак от такой болезни был излечен, но PS я все равно не изменил ![]() |
Автор: ivashkanet 29.3.2006, 22:44 |
Програмку поюзал, но тут же отрубил: надобности нет, ИХМО. Предлагаю расширить ее функциональность: Переназначение клавиш. Типа нажимаю CapsLock, а она мне Insert. Мне такое Оочень надо: купил клаву MS Natural, а там Break(переключение языка в PuntoSwitcher-е) лежит на одной клавише с ScrolLock-ом (выбирается режимом F Lock). А Break работает в разных режимах с F1, F2, ... ![]() P.S. Хотя это вряд ли можно сделать на текущий логике программы, ведь как я понял она не блокирует нажатие клавиши, а просто дублирует ![]() |
Автор: Ciber SLasH 29.3.2006, 23:37 |
Предложение хорошее, но нет на это времени... |
Автор: ivashkanet 30.3.2006, 09:25 | ||
Так его много и не надо, 15 минут работы для специалиста в API, ИХМО. Повестить глобальный Хук на клаву и пускать или не пускать нажатие следующему обработчику, или при получении одной клавиши её блокировать и эмулировать нажатие другой клавиши. Как только подключить твой обработчик первым, я не знаю, но я не спрециалист ![]() |
Автор: Vit 31.3.2006, 07:01 |
Такс... решния с языковыми раскладками мне не подходят. Языковая панель должна быть, за моим корпоративным компом иногда бывает работает начальник он её использует если случайно переключится в русский режим, а Punto Switcher мне на работе не нужен... Проверенно многократно - переключение расскладок клавиатуры блокируется именно этой программой (даже с отключенными блокировками), без неё всё работает нормально. |
Автор: ivashkanet 31.3.2006, 08:58 | ||
Так он ведь работает под своим профилем. И у него можно вообще отключить русский язык. Или я не прав???? P.S. Punto может работать только как индикатор языка (без автоматического переключения языков). Хотя это ивзрат, ИХМО. |
Автор: Vit 31.3.2006, 15:13 | ||||
Нет профиль один, за компьютером работаю только я, но иногда шефу надо мне что-то показать или в моё отсутствие подправить пару байт в моём коде или просто когда меня нет а он что-то с коллегами обсуждает, то мой компьютер под рукой чтоб напечатать послать SQL запрос, посмотреть что-то на MS SQL Server или скопировать файлы... Иногда я прошу своих англоязычных коллег в моё отсутствие проделать кое-какую работу на моём компьютере - запустить какой-то пакет проследить что он правильно сработал, если ошибки, то открыть его в редакторе и подправить ... В общем мелочи но в целом пол-часа - час в день за моим компьютером работает кто-то другой, а я бывает за чьим-то другим компьютером.
Я работаю в большой корпорации, тут есть строгие корпоративные правила по поводу того что и как можно устанавливать на компьютере, мне трудно будет объяснить начальнику IT департмента зачем мне нужен Punto Switcher.... |
Автор: ivashkanet 31.3.2006, 16:24 | ||
![]()
Интересная у вас политика ![]() |
Автор: Ciber SLasH 2.4.2006, 02:38 |
Как оказалось проблемы только с теми прогами, которые используют DLL-ки и загружают их динамически. Вот, переделал загрузку DLL-ки статически. Теперь есть проблемы с переключением раскладок? |
Автор: timer 2.4.2006, 11:04 |
С переключение раскладок проблем теперь нет, но теперь прога не работает ![]() |
Автор: Ciber SLasH 2.4.2006, 14:35 |
Да, что-то не понятно вообще... ![]() Вот к примеру приложение, которое загружает DLL-ку, устанавливает hook, но ничего не делает и всё равно раскладка не переключается... |
Автор: Vit 2.4.2006, 16:29 | ||
Ну... у нас дружный коллектив, мы друг другу доверяем, а корпоративными правилами это пока не запрещено... |
Автор: Vit 5.4.2006, 15:20 |
А что если опубликовать код и мы попробуем совместными усилиями баг отловить? |
Автор: ivashkanet 5.4.2006, 15:29 | ||||
Баг в винде, ИМХО.
|
Автор: Ciber SLasH 7.4.2006, 16:31 | ||
Я в предыдущем посте выложил код, который фактически такой же как и в моей проге. Там откомпилированная версия вместе с исходником. И тоже не переключается раскладка, хотя программа ничего вообще не делает, просто грузит DLL-ку и устанавливает hook. |