windows下怎么用c/c++获取鼠标位置
1、这里以vc6建立一个win32控制台程序,首先点击vc6菜单栏上的“文件”——“新建”。
2、在”新建“窗口,选择win32 console application ,并命名工程名为test。设置完成后点击”确定"。
3、在接下来的窗口选择”一个空工程“,点击完成。
4、会提示用户建立新的工程骨架,点击确定后即可完成工程建立。
5、再次点击vc6菜单栏上的”文件“——”新建“。在弹出的窗口中选择”c++ source file"即c++源文件,命名为test.cxx,点击确定即可将test.cxx添加到test工程中。
1、首先在windows下可以通过GetCursorPos()来获取鼠标的屏幕坐标位置。函数原型如下
BOOL GetCursorPos(LPPOINT lpPoint);
2、函数很简单,只需要调用,然后将鼠标位置保存到一个POINT结构中即可。POINT结构如下,一个保存x坐标,一个保存y坐标。
typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
3、要调用GetCursorPos()函数需要先加上windows.h的头文件。
4、知道了获取鼠标位置的函数,代码就简单了。
POINT pt = {0,0};
GetCursorPos(&pt);
printf("x=%d,y=%d\n", pt.x,pt.y);
return 0;
编译执行程序如下图所示。
5、接下来需要优化一下程序,让程序始终输出鼠标坐标的位置,直到用户将其退出。整个的程序源码如下:
#include <stdio.h>
#include<windows.h>
int main(int ac,char **pav)
{
LONG x=-1, y=-1;
POINT pt= {0,0};
for(;;)
{
GetCursorPos(&pt); //获取鼠标当前位置
if ((x!=pt.x) || (y!=pt.y)) //如果位置与之前的位置不一样则输出新位置
{
printf("x=%d,y=%d\n",pt.x, pt.y);
x=pt.x,y=pt.y;
}
}
return 0;
}
执行效果如下图所示。