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/zh-tw/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

發表回復

登錄後才能評論