言語IDから言語名を取得          <TOP>


VerLanguageName 言語IDから言語名を取得

 

該当のないIDでは Buffer に「ニュートラル言語」が入るのでそれ以外の言語を ListBox に表示させています。

 

'================================================================
'= 言語IDから言語名を取得
'=    (VerLanguageName.bas)
'================================================================
#include "Windows.bi"

' 言語IDから言語名を取得
Declare Function Api_VerLanguageName& Lib "kernel32" Alias "VerLanguageNameA" (ByVal wLang&, ByVal szLang$, ByVal nSize&)

Var Shared List1 As Object
List1.Attach GetDlgItem("List1") : List1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Var Buffer As String
    Var LangID As Long
    Var Ret As Long

    For LangID = 0 To 20490
        Buffer = String$(255, 0)
        Ret = Api_VerLanguageName(LangID, Buffer, Len(Buffer))

        Buffer =  Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1)
        If Buffer <> "ニュートラル言語" Then
            List1.AddString "&H" & hex$(LangID) & " " & Trim$(Str$(LangID)) & " " & Buffer
        End If
    Next
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End