[DllImport("kernel32.dll")]
static extern bool GetStringTypeEx(uint Locale, uint dwInfoType,
[MarshalAs(UnmanagedType.LPWStr)]String lpSrcStr, int cchSrc, [Out] ushort [] lpCharType);
Private Declare Unicode Function GetStringTypeEx Lib "kernel32" Alias "GetStringTypeExW" ( _
ByVal Locale As Int32, ByVal dwInfoType As Int32, _
ByVal lpSrcStr As String, ByVal cchSrc As Int32, _
ByRef lpCharType As Int16) As Boolean
None.
None.
Please add some!
Public Const CT_TYPE1 As Int32 = &H1 ' Retrieves character type info
Public Const CT_TYPE2 As Int32 = &H2 ' Retrieves bi-directional layout info
Public Const CT_TYPE3 As Int32 = &H4 ' Retrieves text processing info
Public Enum CharTypeInfo As Integer
AnsiPosix = CT_TYPE1
BidirectionalLayout = CT_TYPE2
TextProcessing = CT_TYPE3
End Enum
Public Function GetStringTypeEx(ByVal str As String, ByVal cti As CharTypeInfo) As Int16()
Dim APIRetVal As Boolean
Dim CharTypeInfoArray(Len(str) - 1) As Int16
' No need to specify the Locale, the Unicode (W) version of GetStringTypeEx ignores it anyway
APIRetVal = GetStringTypeEx(0, cti, str, Len(str), CharTypeInfoArray(0))
If (Not APIRetVal) Then
Throw New ApplicationException("GetStringTypeExError")
End If
Return CharTypeInfoArray
End Function
Do you know one? Please contribute it!