YangW

无为,无我,无欲,居下,清虚,自然

通过 Windows API 获取鼠标位置等状态信息

EasyX 有一个演示鼠标操作的范例程序,这里,我们尝试通过 Windows API 获取鼠标信息。关于 API 的使用都以注释形式写到了程序中,故不再详细讲解,代码如下:

// 程序名称:通过 API 获取鼠标状态
// 编译环境:Visual C++ 6.0 / 2008 / 2010,EasyX 2011惊蛰版
//
#include <graphics.h>
#include <stdio.h>

void main()
{
	initgraph(640, 480);		// 初始化绘图窗口
	HWND hwnd = GetHWnd();		// 获取绘图窗口句柄

	POINT point;
	TCHAR s[10];

	while(true)
	{
		GetCursorPos(&point);			// 获取鼠标指针位置(屏幕坐标)
		ScreenToClient(hwnd, &point);	// 将鼠标指针位置转换为窗口坐标

		// 获取鼠标按键状态可以用 GetAsyncKeyState 函数,这里不再详述。

		// 输出鼠标坐标
		sprintf(s, _T("%d    "), point.x);
		outtextxy(0, 0, s);

		sprintf(s, _T("%d    "), point.y);
		outtextxy(0, 20, s);

		// 适当延时
		Sleep(10);
	}
}