Я работаю с «зрелым» продуктом, который ранее был перенесен из XP, и мне было поручено настроить мою среду на 32 бита. У меня проблемы с wParam и lParam. Поскольку я использую 32-битную разработку, они установлены на 32 бит из-за среды или они 64-битные из-за платформы Win7?Разработка для Win 7 установлена в 32bit
ответ
WPARAM
и LPARAM
: указатель размером типы данных. WPARAM
- это псевдоним для UINT_PTR
, а LPARAM
- это псевдоним для LONG_PTR
. Смотрите MSDN:
Указатели 32-бит, если ваш проект компилируется как 32-битным исполняемым, и 64-бит, если ваш проект компилируется как 64-битного исполняемого файла.
Таким образом, чтобы ответить на ваш вопрос, WPARAM
и LPARAM
будет 32-бит, потому что вы компилируете свой проект в 32-битном исполняемый (который будет работать в 32-битной на 64-битной машине, если WOW64 эмулятор установлен).
Спасибо. Это то, что я думал, но я получаю некоторые странные цифры. – Chas2K
Не знал о различных версиях Windows. Я старая собачка UNIX & C и получила прослушивание, потому что этот проект в основном на C, а некоторые C++ и приличный C flogger не были найдены среди таланта Off Shore. Настоящий мишень стилей кодирования. – Chas2K
Есть 32 и 64-разрядные версии Windows XP, Vista, 7 и даже 8. –