windows下怎么用c/c++获取鼠标位置
来源:网络收集 点击: 时间:2024-02-20这里以vc6建立一个win32控制台程序,首先点击vc6菜单栏上的“文件”——“新建”。

在”新建“窗口,选择win32 console application ,并命名工程名为test。设置完成后点击”确定。

在接下来的窗口选择”一个空工程“,点击完成。

会提示用户建立新的工程骨架,点击确定后即可完成工程建立。

再次点击vc6菜单栏上的”文件“——”新建“。在弹出的窗口中选择”c++ source file即c++源文件,命名为test.cxx,点击确定即可将test.cxx添加到test工程中。

首先在windows下可以通过GetCursorPos()来获取鼠标的屏幕坐标位置。函数原型如下
BOOL GetCursorPos(LPPOINT lpPoint);
2/5函数很简单,只需要调用,然后将鼠标位置保存到一个POINT结构中即可。POINT结构如下,一个保存x坐标,一个保存y坐标。
typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
3/5要调用GetCursorPos()函数需要先加上windows.h的头文件。

知道了获取鼠标位置的函数,代码就简单了。
POINT pt = {0,0};
GetCursorPos(pt);
printf(x=%d,y=%d\n, pt.x,pt.y);
return 0;
编译执行程序如下图所示。


接下来需要优化一下程序,让程序始终输出鼠标坐标的位置,直到用户将其退出。整个的程序源码如下:
#include stdio.h
#includewindows.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;
}
执行效果如下图所示。


版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_84772.html