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