У меня есть проблема со случайным переключателем входного языка. Я попробовал много различных настроек, чтобы не сделать это - горячая клавиша изменения, установить некоторое программное обеспечение (Ключ Switcher, Ниндзя Клавиатуры, Punto Switcher)... Но ничто не помогло.
Я привык для определенной горячей клавиши (Ctrl+Shift). Любая другая горячая клавиша делает меня, еще больше страдает. Программное обеспечение, которое я нашел, не имеет никакой функции для предотвращения случайных переключателей.
То, что я хочу, должно найти часть программного обеспечения, которое может прикрепить "английский американский" входной язык к моей "Visual Studio". И любые нажатия Ctrl+Shift в VS не должны приводить к переключателю языка. Имеют какие-либо идеи?
Если Вы переходите в
Control Panel / Regional and Language Options / Languages / Details / Key Settings
Вы найдете, что можно определить горячие клавиши для изменений языка.
Можно связать это с макроязыком как AutoHotkey, для определения макроса, который изменяет язык/раскладку клавиатуры и затем запускает Visual Studio. Это однако не заблокирует будущие изменения языка.
Если Вы ищете что-то намного более строгое, чем это, насколько я знаю, что никакая такая программа не существует. Поскольку VS расширяем, можно программировать себя дополнение, которое ограничит количество языков, допускал VS. Это маленькое дополнение загрузится с VS и установит предпочтительные языки всего на один (английский язык).
Если Вы хотите запустить себя в этом направлении, следующие ссылки могли бы быть полезными для запуска:
Поддержка специализированных настроек языка
Учебное руководство: создание дополнений Visual Studio
Создание дополнений Visual Studio
Пока Ваш язык по умолчанию уже установлен, и только необходимо изменить язык для одной программы, я предложил бы изменить язык для той программы (VS) и затем войти в Опции Языка и изменить горячую клавишу ни на один, и затем перешел бы к сочетанию клавиш и снял бы тот флажок (Региональный и опции языка-> вкладка Languages-> детали-> Ключевые Настройки-> Сочетание клавиш Изменения). Теперь ярлыки будут выключены, и так как Windows помнит исходные данные на на основание приложения, которое вход автоматически переключит для VS, но останется испанским для всего остального.
Следующие работы в Visual Studio.NET 2003 на 32-разрядном WinXP. YMMV.
Connect.cpp
наверху, после #include
s добавляют строку
HHOOK myhook;
к методу CConnect::OnConnection
добавьте строку
myhook=SetWindowsHookEx(WH_GETMESSAGE, &myGetMsgProc, _AtlModule.GetResourceInstance(), GetCurrentThreadId());
к методу CConnect::OnDisconnection
добавьте строку
UnhookWindowsHookEx(myhook);
выше OnConnection()
добавьте функцию
LRESULT CALLBACK myGetMsgProc(int code, WPARAM wParam, LPARAM lParam)
{
MSG *msg = (MSG*)lParam;
if (code>=0 && msg->message==WM_INPUTLANGCHANGEREQUEST)
msg->message = WM_NULL;
return CallNextHookEx(myhook, code, wParam, lParam);
}
Теперь невозможно изменить язык или раскладку клавиатуры в Visual Studio. Языковой барьер становится немного перепутанным, если Вы пробуете, но не повреждается.