PEGAR O LAYOUTNAME DO TECLADO DE UM TERMINAL REMOT

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

PEGAR O LAYOUTNAME DO TECLADO DE UM TERMINAL REMOT

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#479315 - 26/01/2018 11:33:30

JUNINHO1
VARGEM GRANDE PAULISTA
Cadast. em:Março/2017


Olá pessoal.


Eu já procurei de tudo quanto é jeito e lugar e não achei nada que me ajudasse, eu quero pegar o nome do layout do teclado configurado em um terminal remoto.
A unica coisa que eu consegui foi usando o WMI mas ele não trás o nome do Layout e sim o codigo.

eu sei que no proprio VB tem esse codigo que pegar o layout name, mas do terminal que roda o programa e não do terminal remoto:

'Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage
          If (myCurrentLanguage IsNot Nothing) Then
            lblUptime.Text = myCurrentLanguage.LayoutName
        Else
            lblUptime.Text = "There is no current language"
        End If

é com o comando WMI eu tenho esse codigo:

Dim ms As System.Management.ManagementScope
        Dim oq As System.Management.ObjectQuery
        Dim mos As System.Management.ManagementObjectSearcher
        Dim obj As System.Management.ManagementObject
        Dim ans As String = ""
        Dim teclado As String = ""
        Dim options As New System.Management.ConnectionOptions

        options.Password = senha
        options.Username = ".\" & user

        'O "escopo" inclui o nome do PC e o namespace WMI
        ms = New System.Management.ManagementScope("\\" & hostname & "\root\cimv2", options)

        'use o WQL para obter apenas a única instância que queremos. Isso deve parecer familiar
        'para aqueles que são usados ​​para SQL
        Try
            oq = New System.Management.ObjectQuery("Select * from Win32_Keyboard")
            'execute a consulta
            mos = New System.Management.ManagementObjectSearcher(ms, oq)

            For Each obj In mos.Get
                teclado = (obj("Layout").ToString())
                MessageBox.Show(teclado)
            Next

        Catch ex As Exception
            MessageBox.Show(ex.Message)
            Return "Erro"
        End Try


        Form1.Cursor = System.Windows.Forms.Cursors.Default

        Return teclado


Mas esse trás o codigo e não o nome.

Alguém consegue me ajudar com isso?



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


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário