Proibir a troca de idioma para determinados aplicativos

4

Eu tenho um problema de troca de idioma de entrada acidental. Eu tentei muitas configurações diferentes, a fim de não fazê-lo - mudar hotkey, instalar algum software (Key Switcher, Teclado Ninja, Punto Switcher) ... Mas nada ajudou.

Eu costumava usar certas teclas de atalho (Ctrl + Shift). Qualquer outra tecla de atalho me faz sofrer ainda mais. O software que encontrei não tem nenhum recurso para evitar interruptores acidentais.

O que eu quero é encontrar um software que possa colocar o idioma de entrada "English US" no meu "Visual Studio". E qualquer Ctrl + Shift pressionado dentro do VS deve não levar a mudança de idioma. Tem alguma idéia?

    
por Vasyl Boroviak 30.04.2010 / 10:43

3 respostas

1

Se você for para Control Panel / Regional and Language Options / Languages / Details / Key Settings
você descobrirá que pode definir teclas de atalho para alterações de idioma.

Você pode combinar isso com uma macro linguagem como AutoHotkey , para definir uma macro que altere o idioma / layout do teclado e, em seguida, inicie Estúdio visual. No entanto, isso não bloqueará futuras alterações de idioma.

Se você está procurando algo muito mais rigoroso do que isso, tanto quanto eu sei, nenhum desses programas existe. Como o VS é extensível, você pode programar um suplemento que limitará o número de idiomas permitidos para o VS. Este pequeno suplemento irá carregar com o VS e definir os idiomas preferidos para apenas um (inglês).

Se você deseja se lançar nessa direção, os links a seguir podem ser úteis para começar:

Suportando configurações de idioma específicas do aplicativo
Tutorial: Criando suplementos do Visual Studio
Criando suplementos do Visual Studio

    
por 25.05.2010 / 15:54
0

Desde que seu idioma padrão já esteja definido e você só precise alterar o idioma de um programa, sugiro alterar o idioma desse programa (VS) e, em seguida, ir para as Opções de idioma e alterar a tecla de atalho para nenhuma e em seguida, vá para a sequência de teclas e desmarque essa caixa (Opções regionais e de idioma - > guia Idiomas - > detalhes - > Configurações de chave - > Alterar sequência de teclas). Agora, os atalhos estarão desativados e, como o Windows se lembra de entradas por aplicativo, a entrada mudará automaticamente para VS, mas permanecerá em espanhol para todo o resto.

    
por 27.05.2010 / 02:55
0

O seguinte funciona no Visual Studio .NET 2003 no WinXP de 32 bits. YMMV.

  • Arquivo - > Novo projeto
  • selecione Tipo de Projeto: Outros Projetos \ Projetos de Extensibilidade
  • selecione o modelo: Visual Studio .NET Add-in. Clique em OK.
  • clique em Avançar, selecione Criar um suplemento usando o Visual C ++ / ATL, clique em Avançar.
  • selecione todos os hosts de aplicativos possíveis, clique em Avançar.
  • (opcional) insira um nome e uma descrição, clique em Avançar.
  • escolha Opções. Não marque "sim, crie um item de menu Ferramentas". Clique em Próximo.
  • não escolha criar uma caixa Sobre. Clique em Próximo.
  • clique em Concluir.
  • mude para a guia com o arquivo de origem Connect.cpp
  • na parte superior, após o #include s adicionar a linha

    HHOOK myhook;
    
  • para o método CConnect::OnConnection adicione a linha

    myhook=SetWindowsHookEx(WH_GETMESSAGE, &myGetMsgProc, _AtlModule.GetResourceInstance(), GetCurrentThreadId());
    
  • para o método CConnect::OnDisconnection adicione a linha

    UnhookWindowsHookEx(myhook);
    
  • acima de OnConnection() adicione a função

    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);
    }
    
  • crie a solução.
  • selecione o menu Ferramentas - > Gerenciador de suplementos ...
  • marque a caixa do seu novo suplemento. Não marque "Startup" por enquanto, caso algo dê errado - você não quer que o Visual Studio falhe toda vez que ele for iniciado!
  • clique em OK.

Agora é impossível alterar o layout de idioma ou de teclado no Visual Studio. A barra de idiomas fica um pouco confusa se você tentar, mas não quebra.

    
por 28.05.2010 / 10:57