c语言鼠标定位,鼠标的定位原理

本文目录一览:

用C语言怎么判断鼠标在窗口的位置?

用API函数GetCursorPos()可以得到鼠标现在的位置:

//—————————————————————————

#include stdio.h

#include windows.h

int main(void)

{

POINT pt;

GetCursorPos(pt);

printf(“%ld %ld\n”,pt.x,pt.y);

return 0;

}

//—————————————————————————

C语言在控制台清屏之后鼠标定位就不行了怎么办

楼主你好。

是因为程序卡在这里了:

Y=(int)pos.Y;

if

(inRec.EventType

==

MOUSE_EVENT

inRec.Event.MouseEvent.dwButtonState

==

FROM_LEFT_1ST_BUTTON_PRESSEDY=3Y=1)

//鼠标左键

break;

这里无法break出来。原因是Y=3Y=1这个条件无法满足。

程序还在调试中。

【旧代码省略】

以上调试程序可以看到只要不system(“cls”)就可以持续读入鼠标事件,但是只要取消system(“cls”)的注释,在清屏一次之后就会无法读入鼠标事件,程序卡在ReadConsoleInput处,只能读入键盘和聚焦事件什么的。暂时分析到这里。

我用clrscr()代替system(“cls”)成功了!(clrscr你可以查查百度百科)

#include

windows.h

#include

conio.h

#include

stdlib.h

#include

stdio.h

#define

PERR(bSuccess,

api){if(!(bSuccess))

printf(“%s:Error

%d

from

%s

on

line

%d\n”,

__FILE__,

GetLastError(),

api,

__LINE__);}

void

MyCls(HANDLE)

;

void

clrscr(void)

{

HANDLE

hStdOut=GetStdHandle(STD_OUTPUT_HANDLE);

MyCls(hStdOut);

return;

}

void

MyCls(HANDLE

hConsole)

{

COORD

coordScreen={0,0};//设置清屏后光标返回的屏幕左上角坐标

BOOL

bSuccess;

DWORD

cCharsWritten;

CONSOLE_SCREEN_BUFFER_INFO

csbi;//保存缓冲区信息

DWORD

dwConSize;//当前缓冲区可容纳的字符数

bSuccess=GetConsoleScreenBufferInfo(hConsole,csbi);//获得缓冲区信息

PERR(bSuccess,”GetConsoleScreenBufferInfo”);

dwConSize=csbi.dwSize.X

*

csbi.dwSize.Y;//缓冲区容纳字符数目

//用空格填充缓冲区

bSuccess=FillConsoleOutputCharacter(hConsole,(TCHAR)’

‘,dwConSize,coordScreen,cCharsWritten);

PERR(bSuccess,”FillConsoleOutputCharacter”);

bSuccess=GetConsoleScreenBufferInfo(hConsole,csbi);//获得缓冲区信息

PERR(bSuccess,”ConsoleScreenBufferInfo”);

//填充缓冲区属性

bSuccess=FillConsoleOutputAttribute(hConsole,csbi.wAttributes,dwConSize,coordScreen,cCharsWritten);

PERR(bSuccess,”FillConsoleOutputAttribute”);

//光标返回屏幕左上角坐标

bSuccess=SetConsoleCursorPosition(hConsole,coordScreen);

PERR(bSuccess,”SetConsoleCursorPosition”);

return;

}

void

main()

{

int

fh();

int

ret;

HANDLE

hInput

=

GetStdHandle(STD_INPUT_HANDLE);;

//

获取标准输入设备句柄

for(;;)

{

printf(“请点击鼠标左键\n”);

ret

=

fh(hInput);

printf(“%d\n”,ret);

Sleep(200);

clrscr();

}

}

int

fh(HANDLE

hInput)

{

INPUT_RECORD

inRec;

DWORD

res;

int

Y;

COORD

pos

=

{0,

0};

for(;;)

{

ReadConsoleInput(hInput,

inRec,

1,

res);

pos

=

inRec.Event.MouseEvent.dwMousePosition;

Y=(int)pos.Y;

if

(inRec.EventType

==MOUSE_EVENT

inRec.Event.MouseEvent.dwButtonState

==

FROM_LEFT_1ST_BUTTON_PRESSED){

//鼠标左键

break;

}

}

return

Y;

}

c语言里怎么定位光标

设置CMD窗口光标位置

void setxy(int x, int y)  //x,y为光标座标

{

   COORD coord = {x, y};

   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

}

c语言鼠标定时点击指定位置

c语言鼠标定时点击指定位置需要模拟鼠标在远程桌面中进行移动。定时模拟点击屏幕坐标位置工具,程序采用c语言编写,可以自定义设置时间,设置屏幕坐标,到时间鼠标会自动根据坐标的位置点击一次。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/297951.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-28 12:17
下一篇 2024-12-28 12:17

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Harris角点检测算法原理与实现

    本文将从多个方面对Harris角点检测算法进行详细的阐述,包括算法原理、实现步骤、代码实现等。 一、Harris角点检测算法原理 Harris角点检测算法是一种经典的计算机视觉算法…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • 瘦脸算法 Python 原理与实现

    本文将从多个方面详细阐述瘦脸算法 Python 实现的原理和方法,包括该算法的意义、流程、代码实现、优化等内容。 一、算法意义 随着科技的发展,瘦脸算法已经成为了人们修图中不可缺少…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • 神经网络BP算法原理

    本文将从多个方面对神经网络BP算法原理进行详细阐述,并给出完整的代码示例。 一、BP算法简介 BP算法是一种常用的神经网络训练算法,其全称为反向传播算法。BP算法的基本思想是通过正…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28

发表回复

登录后才能评论