kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

MOUSE_HWHEELED はVista以降

MOUSE_EVENT_RECORD structure (Windows)
ではMOUSE_HWHEELEDイベント(コンソールでのマウスホイールの水平動作イベント)はWindows 2000以降みたいなことを書いていますが、実際WinCon.hを見るとこうなっています。

#define MOUSE_MOVED   0x0001
#define DOUBLE_CLICK  0x0002
#define MOUSE_WHEELED 0x0004
#if(_WIN32_WINNT >= 0x0600)
#define MOUSE_HWHEELED 0x0008
#endif /* _WIN32_WINNT >= 0x0600 */

なので、Vista以降でしか使えませんね。生成するとすぐ気付くと思いますが、気を付けてください。

#define _WIN32_WINNT 0x500
#include <windows.h>

DWORD dwMouse = MOUSE_HWHEELED;

とかやると、見事に未定義エラーになります。でも、考えてみればコンソールでマウスの水平スクロールなんてする人ほとんどいないか…。
(参考)
Reading Input Buffer Events (Windows)