| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Что-то с _WIN32_IE
Установил Microsoft Visual Studio .NET. Круто. ОС у меня WinXP. Тоже круто. Начал писать прогу, в ней активно используется System Tray. Так вот есть такая структура NOTIFYICONDATA называется. Начиная с пятой версии Internet Explorer она немного видоизменяется, предоставляя новые возможности. Вот кусок кода из SHELLAPI.H
Код:
typedef struct _NOTIFYICONDATAA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
#if (_WIN32_IE < 0x0500)
CHAR szTip[64];
#else
CHAR szTip[128];
#endif
#if (_WIN32_IE >= 0x0500)
DWORD dwState;
DWORD dwStateMask;
CHAR szInfo[256];
union {
UINT uTimeout;
UINT uVersion;
} DUMMYUNIONNAME;
CHAR szInfoTitle[64];
DWORD dwInfoFlags;
#endif
#if (_WIN32_IE >= 0x600)
GUID guidItem;
#endif
} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
typedef struct _NOTIFYICONDATAW {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
#if (_WIN32_IE < 0x0500)
WCHAR szTip[64];
#else
WCHAR szTip[128];
#endif
#if (_WIN32_IE >= 0x0500)
DWORD dwState;
DWORD dwStateMask;
WCHAR szInfo[256];
union {
UINT uTimeout;
UINT uVersion;
} DUMMYUNIONNAME;
WCHAR szInfoTitle[64];
DWORD dwInfoFlags;
#endif
#if (_WIN32_IE >= 0x600)
GUID guidItem;
#endif
} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
#ifdef UNICODE
typedef NOTIFYICONDATAW NOTIFYICONDATA;
typedef PNOTIFYICONDATAW PNOTIFYICONDATA;
#else
typedef NOTIFYICONDATAA NOTIFYICONDATA;
typedef PNOTIFYICONDATAA PNOTIFYICONDATA;
#endif // UNICODE
Я вставил в начало своего кода следующий текст: Код:
#if _WIN32_IE < 0x500 #error WINDOWS MUST DIE #endif |
|
|
# 2 |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Посмотри внимательно файл stdafx.h в своем проекте. Там можно выставить нужные #define для версии Win и IE.
Ну например так Код:
#ifndef WINVER #define WINVER 0x0501 //(Windows XP and Windows .NET Server)") #endif #ifndef _WIN32_IE #define _WIN32_IE 0x0500 #endif
__________________
Best Regards |
|
|
|
|
# 3 |
|
Newbie
Регистрация: 18.08.2003
Сообщения: 22
![]() |
Да, поля в структуре никто не добавляет и не убирает. Это ты сам должен сказать компилятору, под какую систему ты строишь приложение. и если ты явно ничего не сказал, то будет строиться максимально совместимое, то есть с минимумом доступных функций
|
|
|