0

重複の可能性:
vb6 を使用して現在のキーボードの言語を確認する方法は?

VB 6を常に使用して現在のキーボードの言語を確認する方法は?

Private Sub Timer1_Timer() 
IF (language = EN) Then 
label1.caption = EN 
else ...... 
End IF
End Sub
4

1 に答える 1

1

WMI を使用すると、非常に簡単に実行できます。

関数

Public Function GetPropValue(PropName$) As String
    Dim result$
    result = ""
    Set WMIObjectSet = GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT *FROM Win32_OperatingSystem")
    For Each WMIObject In WMIObjectSet
        If result <> "" Then
            Exit For
        Else
            For Each WMIProperty In WMIObject.Properties_
                If WMIProperty.Name = PropName Then
                    result = WMIProperty.Value
                    Exit For
                End If
            Next
        End If
    Next
    GetPropValue = result
End Function

次のように呼び出すことができます:

GetPropValue("OSLanguage")
1033

ここで、コード ページ番号で値をチェックする必要があります。詳細については、こちらをご覧ください

または

Private Declare Function GetThreadLocale Lib "kernel32" () As Long

Private Sub Timer1_Timer() 
IF (GetThreadLocale = 1033) Then 
    label1.caption="EN"
else
    'check other values
End IF
End Sub
于 2012-05-22T13:47:55.260 に答える