none
Como fechar o teclado virtual do windows 8? RRS feed

  • Pergunta

  • Eu estou desenvolvendo um sistema touch que ao iniciar aparecerá a tela de login e automaticamente o teclado virtual do windows 8, até ai tudo certo! só que eu gostaria de quando o usuário entrasse no sistema o teclado fechasse automaticamente. 

    Eu já achei muitos artigos que falam a respeito, eu não sei se estou fazendo erado mas em nenhum deles eu consegui fechar o teclado...

    Códigos para visualizar o teclado virtual

                string progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
                string keyboardPath = System.IO.Path.Combine(progFiles, "TabTip.exe");
                Process.Start(keyboardPath);
                var info = new ProcessStartInfo(@"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe");
                info.WindowStyle = ProcessWindowStyle.Hidden;
                var p = new Process();
                p.StartInfo = info;
                p.Start();

    Código para fechar o teclado

                Process myProcess = Process.Start(@"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe");
                if (myProcess != null)
                {
                    myProcess.Kill();
                    myProcess.CloseMainWindow();
                    myProcess.Close();
                }

                //if (!oskProcess.HasExited) //Because the user may have killed it
                //    oskProcess.Kill();
    		oskProcess.Kill();

                if (!oskProcess.HasExited)
    
                oskProcess.Kill();
    Em nenhum desses códigos eu consegui fechar o teclado virtual, alguém tem ideia do que eu posso fazer?


    quinta-feira, 31 de outubro de 2013 17:37

Respostas

  • Após muitas pesquisas, consegui resolver.

    Segue o código abaixo para quem tiver a mesma dificuldade...

    Para chamar o teclado

    Process.Start(@"C:\Program Files\Common Files\microsoft shared\ink\tabtip.exe");

    E para fechar o mesmo

    Process[] processlist = Process.GetProcesses();
    
                foreach (Process process in processlist)
                {
                    if (process.ProcessName == "TabTip")
                    {
                        process.Kill();
                        break;
                    }
                }
    Obrigado...

    • Marcado como Resposta Jhonas Nobre quinta-feira, 14 de novembro de 2013 19:24
    quinta-feira, 14 de novembro de 2013 19:24

Todas as Respostas

  • ....
    quarta-feira, 6 de novembro de 2013 18:01
  • Após muitas pesquisas, consegui resolver.

    Segue o código abaixo para quem tiver a mesma dificuldade...

    Para chamar o teclado

    Process.Start(@"C:\Program Files\Common Files\microsoft shared\ink\tabtip.exe");

    E para fechar o mesmo

    Process[] processlist = Process.GetProcesses();
    
                foreach (Process process in processlist)
                {
                    if (process.ProcessName == "TabTip")
                    {
                        process.Kill();
                        break;
                    }
                }
    Obrigado...

    • Marcado como Resposta Jhonas Nobre quinta-feira, 14 de novembro de 2013 19:24
    quinta-feira, 14 de novembro de 2013 19:24
  • Boa tarde Jhonas,<o:p></o:p>

    Estou desenvolvendo um aplicação winforms e estou com um problema parecido, o meu sistema vai rodar tanto em desktop comum, quando desktop com recurso touch screen, minha dúvida né:

    Como identificar quando devo ou não chamar o teclado virtual?

    <o:p></o:p>

    <o:p>Para chamar o teclado e fecha o teclado, estou utilizando o seu exemplo</o:p>

    segunda-feira, 19 de maio de 2014 16:59