4
通常我使用Visual Studio的工作,但我切換到MinGW的,我喜歡讓我的應用程序中輕鬆從Unicode和多字節多變,在我MinGW的項目,我有我的定義,包括像這樣的:的#define _UNICODE不使用MinGW +代碼塊
#define WIN32_LEAN_AND_MEAN
#define WINVER 0x0700
#define _UNICODE
#include <windows.h>
#include <commctrl.h>
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#define WND_MAIN_CLASS _T("MainWindowFrame")
然後我註冊並創建我的窗口eg
WNDCLASSEX wc;
...
wc.lpszClassName = WND_MAIN_CLASS;
RegisterClassEx(&wc);
hwnd = CreateWindowEx(0, WND_MAIN_CLASS, _T("Main Window"),
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInst, NULL);
但是當我去編譯,我得到它不能轉換爲wchar_t爲char *在WNDCLASSEX lpszClassName並通過CreateWindowEx在類名和窗口標題錯誤。
如果我點擊右鍵,進入createwindowex和WNDCLASSEX的聲明,它與這些從WINUSER.H出現:
typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
#define CreateWindowEx CreateWindowExW
如果我註釋掉的定義_UNICODE它編譯,並沒有任何問題的作品
與WINVER什麼?我不知道有一個Windows版本7 – 2011-01-11 19:02:28
笑,我認爲這意味着Windows 7的,很好哦.. ATLEAST一切都應該現在包括它的高...什麼是Windows 7的WINVER?我thoguht遠景是爲0x0600和XP在0x0500 – Kaije 2011-01-11 20:26:17