#define UNICODE\r
#define _UNICODE\r
\r
+#include <stdio.h>\r
#include <tchar.h>\r
#include <direct.h>\r
#include <windows.h>\r
\r
LONG GetWindowLongM(HWND hWnd, int nIndex)\r
{\r
- LRESULT r = 0;\r
+ LONG r = 0;\r
START_ROUTINE\r
// WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
\r
LONG SetWindowLongM(HWND hWnd, int nIndex, LONG dwNewLong)\r
{\r
- LRESULT r = 0;\r
+ LONG r = 0;\r
START_ROUTINE\r
// WNDPROCがShift_JIS用であるため\r
if(IsWindowUnicode(hWnd))\r
return r;\r
}\r
\r
+LONG_PTR GetWindowLongPtrM(HWND hWnd, int nIndex)\r
+{\r
+ LONG_PTR r = 0;\r
+START_ROUTINE\r
+ // WNDPROCがShift_JIS用であるため\r
+ if(IsWindowUnicode(hWnd))\r
+ r = GetWindowLongPtrW(hWnd, nIndex);\r
+ else\r
+ r = GetWindowLongPtrA(hWnd, nIndex);\r
+END_ROUTINE\r
+ return r;\r
+}\r
+\r
+LONG_PTR SetWindowLongPtrM(HWND hWnd, int nIndex, LONG_PTR dwNewLong)\r
+{\r
+ LONG_PTR r = 0;\r
+START_ROUTINE\r
+ // WNDPROCがShift_JIS用であるため\r
+ if(IsWindowUnicode(hWnd))\r
+ r = SetWindowLongPtrW(hWnd, nIndex, dwNewLong);\r
+ else\r
+ r = SetWindowLongPtrA(hWnd, nIndex, dwNewLong);\r
+END_ROUTINE\r
+ return r;\r
+}\r
+\r
LRESULT DefWindowProcM(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)\r
{\r
LRESULT r = 0;\r
return r;\r
}\r
\r
+DWORD_PTR SHGetFileInfoM(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags)\r
+{\r
+ DWORD_PTR r = 0;\r
+ wchar_t* pw0 = NULL;\r
+ SHFILEINFOW wsfi;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoWMultiString(pszPath);\r
+ if((r = SHGetFileInfoW(pw0, dwFileAttributes, &wsfi, cbFileInfo, uFlags)) != 0)\r
+ {\r
+ psfi->hIcon = wsfi.hIcon;\r
+ psfi->iIcon = wsfi.iIcon;\r
+ psfi->dwAttributes = wsfi.dwAttributes;\r
+ WtoM(psfi->szDisplayName, MAX_PATH, wsfi.szDisplayName, -1);\r
+ WtoM(psfi->szTypeName, 80, wsfi.szTypeName, -1);\r
+ }\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
BOOL AppendMenuM(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem)\r
{\r
int r = 0;\r
\r
int mkdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
\r
int _mkdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
\r
int rmdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
\r
int _rmdirM(const char * _Path)\r
{\r
- int r = 0;\r
+ int r = -1;\r
wchar_t* pw0 = NULL;\r
START_ROUTINE\r
pw0 = DuplicateMtoW(_Path, -1);\r
return r;\r
}\r
\r
+int removeM(const char * _Filename)\r
+{\r
+ int r = -1;\r
+ wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoW(_Filename, -1);\r
+ r = _wremove(pw0);\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
+int _removeM(const char * _Filename)\r
+{\r
+ int r = -1;\r
+ wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoW(_Filename, -1);\r
+ r = _wremove(pw0);\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
+int _unlinkM(const char * _Filename)\r
+{\r
+ int r = -1;\r
+ wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+ pw0 = DuplicateMtoW(_Filename, -1);\r
+ r = _wunlink(pw0);\r
+END_ROUTINE\r
+ FreeDuplicatedString(pw0);\r
+ return r;\r
+}\r
+\r
size_t _mbslenM(const unsigned char * _Str)\r
{\r
size_t r = 0;\r
while((c = GetNextCharM(_Str, &p)) > 0)\r
{\r
if(c == _Ch)\r
- {\r
- r = (unsigned char*)_Str;\r
break;\r
- }\r
_Str = p;\r
}\r
+ if(c == _Ch)\r
+ r = (unsigned char*)_Str;\r
END_ROUTINE\r
return r;\r
}\r
r = (unsigned char*)_Str;\r
_Str = p;\r
}\r
+ if(c == _Ch)\r
+ r = (unsigned char*)_Str;\r
END_ROUTINE\r
return r;\r
}\r