2 // Copyright (C) 2011 Suguru Kawamoto
3 // マルチバイト文字ワイド文字APIラッパー
5 #ifndef __MBSWRAPPER_H__
6 #define __MBSWRAPPER_H__
11 #define CreateFile CreateFileM
13 #define MessageBox MessageBoxM
15 #define FindFirstFile FindFirstFileM
17 #define FindNextFile FindNextFileM
18 #undef GetLogicalDriveStrings
19 #define GetLogicalDriveStrings GetLogicalDriveStringsM
20 #undef RegisterClassEx
21 #define RegisterClassEx RegisterClassExM
23 #define CreateWindowEx CreateWindowExM
25 #define GetWindowLong GetWindowLongM
27 #define SetWindowLong SetWindowLongM
29 #define DefWindowProc DefWindowProcM
31 #define CallWindowProc CallWindowProcM
33 #define SendMessage SendMessageM
34 #undef SendDlgItemMessage
35 #define SendDlgItemMessage SendDlgItemMessageM
37 #define SetWindowText SetWindowTextM
39 #define DragQueryFile DragQueryFileM
40 #undef GetCurrentDirectory
41 #define GetCurrentDirectory GetCurrentDirectoryM
42 #undef SetCurrentDirectory
43 #define SetCurrentDirectory SetCurrentDirectoryM
44 #undef SetDllDirectory
45 #define SetDllDirectory SetDllDirectoryM
47 #define GetTempPath GetTempPathM
48 #undef GetFileAttributes
49 #define GetFileAttributes GetFileAttributesM
50 #undef GetModuleFileName
51 #define GetModuleFileName GetModuleFileNameM
53 #define RegOpenKeyEx RegOpenKeyExM
55 #define RegCreateKeyEx RegCreateKeyExM
57 #define RegDeleteValue RegDeleteValueM
58 #undef RegQueryValueEx
59 #define RegQueryValueEx RegQueryValueExM
61 #define RegSetValueEx RegSetValueExM
63 #define TextOut TextOutM
64 #undef GetTextExtentPoint32
65 #define GetTextExtentPoint32 GetTextExtentPoint32M
67 #define PropertySheet PropertySheetM
68 #undef GetOpenFileName
69 #define GetOpenFileName GetOpenFileNameM
70 #undef GetSaveFileName
71 #define GetSaveFileName GetSaveFileNameM
73 #define HtmlHelp HtmlHelpM
75 #define CreateProcess CreateProcessM
77 #define FindExecutable FindExecutableM
79 #define ShellExecute ShellExecuteM
80 #undef SHBrowseForFolder
81 #define SHBrowseForFolder SHBrowseForFolderM
82 #undef SHGetPathFromIDList
83 #define SHGetPathFromIDList SHGetPathFromIDListM
84 #undef SHFileOperation
85 #define SHFileOperation SHFileOperationM
87 #define AppendMenu AppendMenuM
88 #undef GetMenuItemInfo
89 #define GetMenuItemInfo GetMenuItemInfoM
90 #undef CreateFontIndirect
91 #define CreateFontIndirect CreateFontIndirectM
93 #define ChooseFont ChooseFontM
95 #define DialogBoxParam DialogBoxParamM
96 #undef CreateDialogParam
97 #define CreateDialogParam CreateDialogParamM
101 #define _mkdir _mkdirM
105 #define _rmdir _rmdirM
107 #define _mbslen _mbslenM
109 #define _mbschr _mbschrM
111 #define _mbsrchr _mbsrchrM
113 #define _mbsstr _mbsstrM
115 #define _mbscmp _mbscmpM
117 #define _mbsicmp _mbsicmpM
119 #define _mbsncmp _mbsncmpM
121 #define _mbslwr _mbslwrM
123 #define _mbsupr _mbsuprM
125 #define _mbsninc _mbsnincM
128 #define CreateWindow(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) CreateWindowEx(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
130 #define DialogBox(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParam(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
134 int MtoW(LPWSTR pDst, int size, LPCSTR pSrc, int count);
135 int WtoM(LPSTR pDst, int size, LPCWSTR pSrc, int count);
136 int WtoA(LPSTR pDst, int size, LPCWSTR pSrc, int count);
137 int TerminateStringM(LPSTR lpString, int size);
138 int TerminateStringW(LPWSTR lpString, int size);
139 int TerminateStringA(LPWSTR lpString, int size);
140 size_t GetMultiStringLengthM(LPCSTR lpString);
141 size_t GetMultiStringLengthW(LPCWSTR lpString);
142 size_t GetMultiStringLengthA(LPCWSTR lpString);
143 int MtoWMultiString(LPWSTR pDst, int size, LPCSTR pSrc);
144 int WtoMMultiString(LPSTR pDst, int size, LPCWSTR pSrc);
145 int WtoAMultiString(LPSTR pDst, int size, LPCWSTR pSrc);
146 char* AllocateStringM(int size);
147 wchar_t* AllocateStringW(int size);
148 char* AllocateStringA(int size);
149 wchar_t* DuplicateMtoW(LPCSTR lpString, int c);
150 wchar_t* DuplicateMtoWBuffer(LPCSTR lpString, int c, int size);
151 wchar_t* DuplicateMtoWMultiString(LPCSTR lpString);
152 wchar_t* DuplicateMtoWMultiStringBuffer(LPCSTR lpString, int size);
153 char* DuplicateWtoM(LPCWSTR lpString, int c);
154 char* DuplicateWtoA(LPCWSTR lpString, int c);
155 void FreeDuplicatedString(void* p);