Sorry Luckie.
1. Ich hätte für printf natürlich _tprintf nehmen müssen. Die ganzen _t-Funktionen sind auch in tchar.h definiert.
2. Das MessageBoxW sollte eigentlich nicht nötig sein. Hast du
UNICODE definiert? Übersetzt du mit dem GCC oder MSC?
// Nachtrag
Hab einen Dreher dringehabt
(kommt davon wenn man's nicht ausprobiert)
Code:
TCHAR *
SysErrorMessage (DWORD dwErrorCode, TCHAR *pszBuf, int nLenBuf)
{
FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM | (pszBuf ? 0 : FORMAT_MESSAGE_ALLOCATE_BUFFER),
NULL,
dwErrorCode ? dwErrorCode : GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
pszBuf ? pszBuf : (LPTSTR)&pszBuf,
pszBuf ? nLenBuf : 0,
NULL);
return pszBuf;
}