ANSI文字列をUnicode文字列に変換する
Declare Function MultiByteToWideChar Lib "kernel32.dll" _
(ByVal CodePage As Long, ByVal dwFlags As Long, _
ByVal lpMultiByteStr As String, ByVal ccMultiByteStr As Long, _
ByVal lpWideCharStr As String, ByVal cchWideChar As Long) As Long
Declare Function MultiByteToWideChar Lib "kernel32.dll" _
(ByVal CodePage As Integer, ByVal dwFlags As Integer, _
ByVal lpMultiByteStr As String, ByVal ccMultiByteStr As Integer, _
ByVal lpWideCharStr As String, ByVal cchWideChar As Integer) As Integer
int MultiByteToWideChar(
UINT CodePage,
DWORD dwFlags,
LPCSTR lpMultiByteStr,
int cchMultiByte,
LPWSTR lpWideCharStr,
int cchWideChar
);
引数
CodePage
コードページを指定する定数dwFlags
変換時の動作を指定する方法を指定する定数の組み合わせlpMultiByteStr
変換する文字列ccMultiByteStr
同、バイト数(-1のとき自動的に計算)lpWideCharStr
(戻り値)変換後の文字列を受け取るバッファcchWideChar
同、バイト数戻り値
正常終了のとき バッファにコピーした文字数備考
エラーのとき 0
Visual BasicのStrConv関数と同じCodePageの定数
CP_ACP = 0 ANSIコードページdwFlagsの定数
CP_OEMCP = 1 OEMコードページ
CP_MACCP = 1 MACコードページ
MB_PRECOMPOSED = &H1 作成済み文字を使う(MB_COMPOSITEとは組み合わせない)
MB_COMPOSED = &H2 合成文字を使う(MB_PRECOMPOSITEとは組み合わせない)
MB_ERR_INVALID_CHARS = &H8 不明な文字があったときにエラーを発生する
MB_USEGLYPHCHARS = &H4 制御文字の変わりにグリフ文字を使う