TECLADO VIRTUAL

 Tópico anterior Próximo tópico Novo tópico

TECLADO VIRTUAL

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#490852 - 19/10/2019 16:43:34

RICARDOPIBU
CABO FRIO
Cadast. em:Março/2018


Alguém que saiba como chamar o teclado virtual do Win10.
Já tentei esse aqui (ao  clicar na minha  combobox):
Shell ("osk.exe")

engraçado que pra chamar a calculadora, uso esse:
Shell ("Calc.exe")
e dá certo!

Desde Já agradeço!!!



#490853 - 19/10/2019 22:10:26

OMAR2007
MONTES CLAROS
Cadast. em:Maio/2019


Coloque isto.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
    ShellExecute 0, vbNullString, "osk.exe", vbNullString, "C:\", 1
End Sub

Da net.



#490873 - 21/10/2019 16:30:48

RICARDOPIBU
CABO FRIO
Cadast. em:Março/2018


Obrigado  pela ajuda, mas não ocorreu nada, nem erro algum, nem chamou o teclado virtual.
Depurei, e  também nada!
Se tiver alguma ideia do que pode ser, lhe  agradeceria e muito.                      



#490877 - 21/10/2019 17:45:30

OMAR2007
MONTES CLAROS
Cadast. em:Maio/2019


 Anexos estao visíveis somente para usuários registrados

Fez a declaração correta.
Usei aqui no meu vb6 e foi executado sem problema.



Resposta escolhida #490879 - 21/10/2019 19:52:28

JOSE
CONGONHAS
Cadast. em:Dezembro/2003


'para VB.NET
'MOSTRAR TECLADO VIRTUAL (tabtip.exe)
Private TabTipProcess As Process
Private Sub closeTabTip()
   If tdbConfig.enableVirtualKeyboard Then
      If Me.TabTipProcess IsNot Nothing AndAlso Me.TabTipProcess.HasExited Then
          TabTipProcess.Close()
      End If
    End If
End Sub

Private Sub openTabTip()
  If tdbConfig.enableVirtualKeyboard Then
     Dim progFiles As String = "C:\Program Files\Common Files\Microsoft Shared\ink"
     Dim onScreenKeyboardPath As String = System.IO.Path.Combine(progFiles, "TabTip.exe")
     Me.TabTipProcess = Process.Start(onScreenKeyboardPath)    
  End If

End Sub

'http://solucionesvbnet.blogspot.com/2014/01/mostrar-teclado-virtual-tabtipexe.html

'para VB6 ainda não encontrei  solução, e não testei a dica acima




#490880 - 21/10/2019 20:14:54

JOSE
CONGONHAS
Cadast. em:Dezembro/2003


no VB6
deu certo:
ShellExecute 0, vbNullString, "tabtip.exe", vbNullString, "C:\Program Files\Common Files\microsoft shared\ink", 1

primeiro tive que finalizar a tarefa no meu notebook pelo gerenciador de tarefas, pois, já estava em exução tabtip.exe

ao chamar a linha de comando acima no clique de um botão o teclado apareceu na tela maximizado normalmente (Windows 10 64 bits)

usei em um modulo:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, _
  ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long



#490881 - 21/10/2019 20:20:22

JOSE
CONGONHAS
Cadast. em:Dezembro/2003


Mas se já estiver minimizado perto do relógio ele não abre mazimizado pelo botão de comando, Por hora apenas finalizando pelo gerenciador de tarefas. Na primeira vez que clica no botão de comando abre mas, na segundo vez é como se não tivesse mais efeito e fica sempre minimizado.



#490890 - 22/10/2019 13:55:34

JOSE
CONGONHAS
Cadast. em:Dezembro/2003


VB6. Para abrir teclado virtual
Copiar e colar o código abaixo no início do programa:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
abre o teclado virtual, testei no Windows 10 64 bits
'
em um botão de comando:
teclado = "C:\Program Files\Common Files\microsoft shared\ink\tabtip.exe"
RetCode = ShellExecute(Me.hwnd, "open", teclado, vbNull, vbNull, SW_SHOWMAXIMIZED)
'
testei no Windows 10 64 bits

Para fechar é mais complicado e já testei usando um segundo botão, neste caso fecha o teclado virtual aberto manualmente e depois clica no segundo botão
tem que ter modulo e muito mais código. Uma dica é encerrar o processo tabtip.exe, veja o site muito conhecido do Macoratti: http://www.macoratti.net/13/08/vb6_proc1.htm.
usa Windows Management Instrumentation - WMI para encerrar um processo.

Portanto, no segundo botão ficou apenas uma linha:
MatarProcesso ("tabtip.exe"), True

o restante das funções e modulo é só pegar no site citado.
Não esquecer que para clicar no segundo botão tem que fechar o teclado virtual manualmente, pois, uma vez aberto ele não se encerra nos processos do Windows.

Uma dica final, essas rotinas servem para fechar a maioria dos executáveis.




#490892 - 22/10/2019 15:54:00

OMAR2007
MONTES CLAROS
Cadast. em:Maio/2019


E qual dos teclados tem melhor aparência para você.



#490893 - 22/10/2019 16:23:35

JOSE
CONGONHAS
Cadast. em:Dezembro/2003


 Anexos estao visíveis somente para usuários registrados

Considerando aparência tabtip é muito bom e osk.exe não abre no Windows 10 64 bits, mas tabtip.exe abre. Se quiser fazer a aparência do tabtip.exe ficar cheio de recursos e muitas teclas é só ir em configurações e clicar no 3 icone da esquerda para direita. Assim, deixa o modo compactado e fica no modo expandido. Feja a figura o tabtip.exe.



#490897 - 22/10/2019 17:34:39

JOSE
CONGONHAS
Cadast. em:Dezembro/2003


 Anexos estao visíveis somente para usuários registrados

Segue o código como ficou.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por RICARDOPIBU em 04/11/2019 18:45:00