1#ifndef _WDL_WIN32_UTF8_H_
2#define _WDL_WIN32_UTF8_H_
8#if defined(_WIN32) && !defined(WDL_NO_SUPPORT_UTF8)
10#ifndef WDL_WIN32_UTF8_IMPL
11#define WDL_WIN32_UTF8_IMPL
12#define WDL_WIN32_UTF8_IMPL_NOTSTATIC
20WDL_WIN32_UTF8_IMPL
BOOL SetDlgItemTextUTF8(
HWND hDlg,
int nIDDlgItem,
LPCTSTR lpString);
21WDL_WIN32_UTF8_IMPL
int GetWindowTextUTF8(
HWND hWnd,
LPTSTR lpString,
int nMaxCount);
22WDL_WIN32_UTF8_IMPL
UINT GetDlgItemTextUTF8(
HWND hDlg,
int nIDDlgItem,
LPTSTR lpString,
int nMaxCount);
25WDL_WIN32_UTF8_IMPL
BOOL CreateDirectoryUTF8(
LPCTSTR path, LPSECURITY_ATTRIBUTES attr);
26WDL_WIN32_UTF8_IMPL
BOOL DeleteFileUTF8(
LPCTSTR path);
29WDL_WIN32_UTF8_IMPL
DWORD GetCurrentDirectoryUTF8(
DWORD nBufferLength,
LPTSTR lpBuffer);
30WDL_WIN32_UTF8_IMPL
BOOL SetCurrentDirectoryUTF8(
LPCTSTR path);
31WDL_WIN32_UTF8_IMPL
BOOL RemoveDirectoryUTF8(
LPCTSTR path);
34WDL_WIN32_UTF8_IMPL
HANDLE CreateFileUTF8(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);
36WDL_WIN32_UTF8_IMPL
UINT DragQueryFileUTF8(
HDROP hDrop,
UINT idx,
char *buf,
UINT bufsz);
40WDL_WIN32_UTF8_IMPL
BOOL GetOpenFileNameUTF8(LPOPENFILENAME lpofn);
41WDL_WIN32_UTF8_IMPL
BOOL GetSaveFileNameUTF8(LPOPENFILENAME lpofn);
43#if _MSC_VER > 1700 && defined(_WIN64)
44WDL_WIN32_UTF8_IMPL
BOOL SHGetPathFromIDListUTF8(
const struct _ITEMIDLIST __unaligned *pidl,
LPSTR pszPath,
int pszPathLen);
46WDL_WIN32_UTF8_IMPL
BOOL SHGetPathFromIDListUTF8(
const struct _ITEMIDLIST *pidl,
LPSTR pszPath,
int pszPathLen);
49WDL_WIN32_UTF8_IMPL
BOOL SHGetSpecialFolderPathUTF8(
HWND hwndOwner,
LPTSTR lpszPath,
int pszPathLen,
int csidl,
BOOL create);
51WDL_WIN32_UTF8_IMPL
struct _ITEMIDLIST *SHBrowseForFolderUTF8(
struct _browseinfoA *browseInfoA);
52WDL_WIN32_UTF8_IMPL
int WDL_UTF8_SendBFFM_SETSEL(
HWND hwnd,
const char *str);
56WDL_WIN32_UTF8_IMPL
BOOL GetUserNameUTF8(
LPTSTR lpString, LPDWORD nMaxCount);
57WDL_WIN32_UTF8_IMPL
BOOL GetComputerNameUTF8(
LPTSTR lpString, LPDWORD nMaxCount);
60WDL_WIN32_UTF8_IMPL
BOOL InsertMenuItemUTF8(
HMENU hMenu,
UINT uItem,
BOOL fByPosition, LPMENUITEMINFO lpmii);
61WDL_WIN32_UTF8_IMPL
BOOL SetMenuItemInfoUTF8(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,LPMENUITEMINFO lpmii);
62WDL_WIN32_UTF8_IMPL
BOOL GetMenuItemInfoUTF8(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,LPMENUITEMINFO lpmii);
67WDL_WIN32_UTF8_IMPL
int GetKeyNameTextUTF8(
LONG lParam,
LPTSTR lpString,
int nMaxCount);
70WDL_WIN32_UTF8_IMPL WCHAR *WDL_UTF8ToWC(
const char *buf,
BOOL doublenull,
int minsize,
DWORD *sizeout);
72WDL_WIN32_UTF8_IMPL
BOOL WDL_HasUTF8(
const char *_str);
80WDL_WIN32_UTF8_IMPL
LPSTR GetCommandParametersUTF8();
89WDL_WIN32_UTF8_IMPL
DWORD GetModuleFileNameUTF8(HMODULE hModule,
LPTSTR fnStr,
DWORD nSize);
91WDL_WIN32_UTF8_IMPL
BOOL CreateProcessUTF8(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
92 LPSECURITY_ATTRIBUTES lpProcessAttributes,
93 LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
94 DWORD dwCreationFlags,
97 LPSTARTUPINFO lpStartupInfo,
98 LPPROCESS_INFORMATION lpProcessInformation);
103#define SetWindowText SetWindowTextUTF8
108#define SetDlgItemText SetDlgItemTextUTF8
114#define GetWindowText GetWindowTextUTF8
119#define GetDlgItemText GetDlgItemTextUTF8
124#define MessageBox MessageBoxUTF8
129#define DragQueryFile DragQueryFileUTF8
131#ifdef GetOpenFileName
132#undef GetOpenFileName
134#define GetOpenFileName GetOpenFileNameUTF8
136#ifdef GetSaveFileName
137#undef GetSaveFileName
139#define GetSaveFileName GetSaveFileNameUTF8
144#define ShellExecute ShellExecuteUTF8
149#define GetUserName GetUserNameUTF8
151#ifdef GetComputerName
152#undef GetComputerName
154#define GetComputerName GetComputerNameUTF8
156#ifdef CreateDirectory
157#undef CreateDirectory
159#define CreateDirectory CreateDirectoryUTF8
164#define DeleteFile DeleteFileUTF8
169#define MoveFile MoveFileUTF8
174#define CopyFile CopyFileUTF8
176#ifdef GetCurrentDirectory
177#undef GetCurrentDirectory
179#define GetCurrentDirectory GetCurrentDirectoryUTF8
181#ifdef SetCurrentDirectory
182#undef SetCurrentDirectory
184#define SetCurrentDirectory SetCurrentDirectoryUTF8
187#ifdef RemoveDirectory
188#undef RemoveDirectory
190#define RemoveDirectory RemoveDirectoryUTF8
196#define CreateFile CreateFileUTF8
202#define InsertMenu InsertMenuUTF8
207#define InsertMenuItem InsertMenuItemUTF8
209#ifdef SetMenuItemInfo
210#undef SetMenuItemInfo
212#define SetMenuItemInfo SetMenuItemInfoUTF8
214#ifdef GetMenuItemInfo
215#undef GetMenuItemInfo
217#define GetMenuItemInfo GetMenuItemInfoUTF8
222#define LoadLibrary LoadLibraryUTF8
224#ifdef GetPrivateProfileInt
225#undef GetPrivateProfileInt
227#define GetPrivateProfileInt GetPrivateProfileIntUTF8
229#ifdef GetPrivateProfileString
230#undef GetPrivateProfileString
232#define GetPrivateProfileString GetPrivateProfileStringUTF8
234#ifdef WritePrivateProfileString
235#undef WritePrivateProfileString
237#define WritePrivateProfileString WritePrivateProfileStringUTF8
239#ifdef WritePrivateProfileStruct
240#undef WritePrivateProfileStruct
242#define WritePrivateProfileStruct WritePrivateProfileStructUTF8
244#ifdef GetPrivateProfileStruct
245#undef GetPrivateProfileStruct
247#define GetPrivateProfileStruct GetPrivateProfileStructUTF8
250#ifdef GetModuleFileName
251#undef GetModuleFileName
253#define GetModuleFileName GetModuleFileNameUTF8
258#define CreateProcess CreateProcessUTF8
263#define fopen fopenUTF8
268#define stat(fn,s) statUTF8(fn,s)
269typedef char wdl_utf8_chk_stat_types_assert_failed[
sizeof(
struct stat) ==
sizeof(
struct _stat) ? 1 : -1];
273#if defined(WDL_CHECK_FOR_NON_UTF8_FOPEN) && defined(fopen)
278#define DrawTextUTF8 DrawText
280#define fopenUTF8 fopen
281#define WDL_UTF8_HookComboBox(x)
282#define WDL_UTF8_HookListView(x)
283#define WDL_UTF8_HookListBox(x)
284#define WDL_UTF8_HookTreeView(x)
285#define WDL_UTF8_HookTabCtrl(x)
286#define WDL_UTF8_ListViewConvertDispInfoToW(x)
static char filename[]
Definition features.c:5
png_structrp int mode
Definition png.h:1139
RECT const char void HWND hwnd
Definition swell-functions.h:1066
void * HINSTANCE
Definition swell-types.h:212
char * LPSTR
Definition swell-types.h:189
uintptr_t UINT_PTR
Definition swell-types.h:43
unsigned int UINT
Definition swell-types.h:166
int INT
Definition swell-types.h:167
signed char BOOL
Definition swell-types.h:160
unsigned int DWORD
Definition swell-types.h:164
void * HDROP
Definition swell-types.h:212
struct HMENU__ * HMENU
Definition swell-types.h:211
signed int LONG
Definition swell-types.h:182
void * HANDLE
Definition swell-types.h:212
void * LPVOID
Definition swell-types.h:174
struct HWND__ * HWND
Definition swell-types.h:210
char * LPTSTR
Definition swell-types.h:189
struct HDC__ * HDC
Definition swell-types.h:263
const char * LPCTSTR
Definition swell-types.h:190
uch h[RAND_HEAD_LEN]
Definition crypt.c:459
_WDL_CSTRING_PREFIX void INT_PTR const char * format
Definition wdlcstring.h:263
#define DrawTextUTF8
Definition win32_utf8.h:278
#define WDL_UTF8_HookTreeView(x)
Definition win32_utf8.h:284
#define fopenUTF8
Definition win32_utf8.h:280
#define WDL_UTF8_ListViewConvertDispInfoToW(x)
Definition win32_utf8.h:286
#define WDL_UTF8_HookListView(x)
Definition win32_utf8.h:282
#define WDL_UTF8_HookListBox(x)
Definition win32_utf8.h:283
#define WDL_UTF8_HookComboBox(x)
Definition win32_utf8.h:281
#define WDL_UTF8_HookTabCtrl(x)
Definition win32_utf8.h:285
#define statUTF8
Definition win32_utf8.h:279