Запретите переключатель языка для определенного приложения (приложений)

У меня есть проблема со случайным переключателем входного языка. Я попробовал много различных настроек, чтобы не сделать это - горячая клавиша изменения, установить некоторое программное обеспечение (Ключ Switcher, Ниндзя Клавиатуры, Punto Switcher)... Но ничто не помогло.

Я привык для определенной горячей клавиши (Ctrl+Shift). Любая другая горячая клавиша делает меня, еще больше страдает. Программное обеспечение, которое я нашел, не имеет никакой функции для предотвращения случайных переключателей.

То, что я хочу, должно найти часть программного обеспечения, которое может прикрепить "английский американский" входной язык к моей "Visual Studio". И любые нажатия Ctrl+Shift в VS не должны приводить к переключателю языка. Имеют какие-либо идеи?

4
задан 30.04.2010, 11:49

3 ответа

Если Вы переходите в
Control Panel / Regional and Language Options / Languages / Details / Key Settings
Вы найдете, что можно определить горячие клавиши для изменений языка.

Можно связать это с макроязыком как AutoHotkey, для определения макроса, который изменяет язык/раскладку клавиатуры и затем запускает Visual Studio. Это однако не заблокирует будущие изменения языка.

Если Вы ищете что-то намного более строгое, чем это, насколько я знаю, что никакая такая программа не существует. Поскольку VS расширяем, можно программировать себя дополнение, которое ограничит количество языков, допускал VS. Это маленькое дополнение загрузится с VS и установит предпочтительные языки всего на один (английский язык).

Если Вы хотите запустить себя в этом направлении, следующие ссылки могли бы быть полезными для запуска:

Поддержка специализированных настроек языка
Учебное руководство: создание дополнений Visual Studio
Создание дополнений Visual Studio

1
ответ дан 07.12.2019, 21:46

Пока Ваш язык по умолчанию уже установлен, и только необходимо изменить язык для одной программы, я предложил бы изменить язык для той программы (VS) и затем войти в Опции Языка и изменить горячую клавишу ни на один, и затем перешел бы к сочетанию клавиш и снял бы тот флажок (Региональный и опции языка-> вкладка Languages-> детали-> Ключевые Настройки-> Сочетание клавиш Изменения). Теперь ярлыки будут выключены, и так как Windows помнит исходные данные на на основание приложения, которое вход автоматически переключит для VS, но останется испанским для всего остального.

0
ответ дан 07.12.2019, 21:46

Следующие работы в Visual Studio.NET 2003 на 32-разрядном WinXP. YMMV.

  • Файл-> Новый Проект
  • избранный Тип Проекта: Другие Проекты \Проекты Расширяемости
  • избранный шаблон: Дополнение Visual Studio.NET. Нажать "OK".
  • нажмите Далее, выбор Создают Дополнение с помощью Visual C++ / ATL, нажимают Далее.
  • выберите все возможные хосты appication, нажмите Далее.
  • (дополнительно) введите имя и описание, нажмите Далее.
  • выберите Options. Не проверяйте "да, создайте пункт меню Tools". Нажать Далее.
  • не принимайте решение создать поле About. Нажать Далее.
  • нажмите Finish.
  • переключитесь на вкладку с исходным файлом Connect.cpp
  • наверху, после #includes добавляют строку

    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);
    }
    
  • создайте решение.
  • выберите меню Tools-> менеджер по Дополнению...
  • установите флажок для своего нового дополнения. Не проверяйте "Запуск" на данный момент в случае, если что-либо пошло не так, как надо - Вы не хотите Visual Studio, разрушающую каждый раз, когда это запускается!
  • нажать "OK".

Теперь невозможно изменить язык или раскладку клавиатуры в Visual Studio. Языковой барьер становится немного перепутанным, если Вы пробуете, но не повреждается.

0
ответ дан 07.12.2019, 21:46

Теги

Похожие вопросы