国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++實(shí)現(xiàn)【獲取鼠標(biāo)位置】以及控制鼠標(biāo)【打開(kāi)窗口并點(diǎn)擊】

這篇具有很好參考價(jià)值的文章主要介紹了C++實(shí)現(xiàn)【獲取鼠標(biāo)位置】以及控制鼠標(biāo)【打開(kāi)窗口并點(diǎn)擊】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

獲取鼠標(biāo)位置的函數(shù)源代碼來(lái)自:C++【認(rèn)知系列】實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)_c++ 獲取鼠標(biāo)坐標(biāo)_Zalamp的博客-CSDN博客

鼠標(biāo)點(diǎn)擊操作代碼來(lái)自:

C++控制鼠標(biāo)移動(dòng)到指定位置并且左鍵點(diǎn)擊_c++鼠標(biāo)移動(dòng)_蜚語(yǔ)77的博客-CSDN博客

在特定程序中實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊操作分為兩步,第一步就是在任務(wù)欄點(diǎn)擊一下鼠標(biāo),然后在打開(kāi)的窗口里再點(diǎn)擊特定按鈕。需要用到兩個(gè)函數(shù)被我整合了一下。一個(gè)就是獲取位置的函數(shù),在10s(當(dāng)然要看多久可以自己調(diào)整)內(nèi)獲取到任務(wù)欄和特定窗口中按鈕的位置;另一個(gè)就是將位置坐標(biāo)輸入后讓程序?qū)崿F(xiàn)點(diǎn)擊操作的函數(shù)。

全部代碼如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-659439.html

#include <windows.h>
#include <iostream>
#include <iomanip>		//setw()函數(shù)所在庫(kù)
#include<stdlib.h>
#include<time.h>
using namespace std;

void get_position()
{//獲取鼠標(biāo)位置坐標(biāo)
    CONSOLE_CURSOR_INFO info = { 1, 0 };				//創(chuàng)建光標(biāo)的屬性結(jié)構(gòu)體
    HANDLE hand = GetStdHandle(STD_OUTPUT_HANDLE);	//創(chuàng)建光標(biāo)的句柄
    COORD coord = { 0, 0 };								//創(chuàng)建xy坐標(biāo)結(jié)構(gòu)體,用于設(shè)置光標(biāo)位置
    POINT pt = { 0, 0 };								//創(chuàng)建鼠標(biāo)點(diǎn)坐標(biāo)變量
    SetConsoleCursorInfo(hand, &info);				//設(shè)置光標(biāo)屬性
    //循環(huán)顯示
    int t = 100;//程序?qū)⒃?0s后退出
    while (1) {
        SetConsoleCursorPosition(hand, coord);		//傳入光標(biāo)句柄和坐標(biāo)設(shè)置光標(biāo)位置
        GetCursorPos(&pt);							//獲取鼠標(biāo)點(diǎn)的坐標(biāo)位置
        cout << "當(dāng)前坐標(biāo):" << pt.x << ',' << pt.y << setw(10) << "\0" << endl;	//輸出坐標(biāo)

        cout << "程序?qū)⒃? << t / 10 << "s后繼續(xù) " << endl;;//在這段時(shí)間內(nèi)可以獲取想要點(diǎn)擊的目標(biāo)的坐標(biāo)
        Sleep(100);
        if (t == 0) {break; }
        t = t - 1;

    }
    //循環(huán)顯示結(jié)束
    

}

int mouseclick(int x,int y)
{
    // 模擬鼠標(biāo)左鍵單擊
    INPUT input;                //創(chuàng)建一個(gè)INPUT類型結(jié)構(gòu)體
    input.type = INPUT_MOUSE;   //指定輸入事件類型為鼠標(biāo)事件
    input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP; // 模擬鼠標(biāo)左鍵按下和抬起的動(dòng)作
    //mi是結(jié)構(gòu)體INPUT的一個(gè)成員屬性,mi是MOUSEINPUT類型
    //MOUSEINPUT 結(jié)構(gòu)體用于描述鼠標(biāo)事件,例如鼠標(biāo)左鍵單擊、雙擊、右鍵單擊、移動(dòng)等操作。
    SetCursorPos(x, y);
    input.mi.dx = 0;            //設(shè)置鼠標(biāo)事件發(fā)生的x坐標(biāo)
    input.mi.dy = 0;            //設(shè)置鼠標(biāo)事件發(fā)生的y坐標(biāo)
    input.mi.mouseData = 0;     //設(shè)置鼠標(biāo)滾輪的滾動(dòng)距離
    input.mi.dwExtraInfo = 0;   //將 dwExtraInfo 字段設(shè)置為 0,表示不傳遞任何附加的輸入數(shù)據(jù)。
    input.mi.time = 0;          //time字段是用來(lái)設(shè)置時(shí)間戳的,0表示使用系統(tǒng)的時(shí)間戳
    SendInput(1, &input, sizeof(INPUT));
    /*SendInput函數(shù)是 Win32 API 中用于模擬輸入事件的函數(shù),可以模擬鼠標(biāo)事件、鍵盤(pán)事件、硬件事件
    等。
    其函數(shù)原型如下:
        UINT SendInput(UINT nInputs, LPINPUT pInputs, int cbSize);
    其中,nInputs 參數(shù)指定輸入事件的數(shù)量,pInputs 參數(shù)指向輸入事件數(shù)組的指針,cbSize 參數(shù)指定輸
    入事件數(shù)組的大?。▎挝粸樽止?jié))。*/
    return 0;
}



int main()
{
    //首先獲取到需要點(diǎn)擊的位置坐標(biāo)序列,這個(gè)函數(shù)調(diào)試時(shí)使用,獲取到坐標(biāo)簡(jiǎn)后可以注釋掉
    get_position();

    // 將鼠標(biāo)移動(dòng)到特定的位置并單擊,打開(kāi)之前最小化到任務(wù)欄的程序
    mouseclick(400, 1068);

    //讓程序睡眠1s再運(yùn)行
    cout << "sleep 0.01s" << endl;
    Sleep(10);

    // 將鼠標(biāo)移動(dòng)到特定的位置并單擊,在特定程序中執(zhí)行點(diǎn)擊操作
    mouseclick(1055, 578);



    return 0;
}

到了這里,關(guān)于C++實(shí)現(xiàn)【獲取鼠標(biāo)位置】以及控制鼠標(biāo)【打開(kāi)窗口并點(diǎn)擊】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【AHK】鼠標(biāo)調(diào)整窗口大小/移動(dòng)窗口位置/窗口置頂/透明度

    通過(guò)AHK,設(shè)置窗體大小或位置,首先是兩種鼠標(biāo)調(diào)節(jié)窗體方案,后面是快捷鍵,注意修改快捷鍵的位置有兩個(gè),仿照Ubuntu調(diào)節(jié)窗體的快捷鍵 Alt+F7、Alt+F8,個(gè)人感覺(jué)比要按著ALT調(diào)節(jié)的小工具要好用一點(diǎn)。 如果換成單個(gè)F7、F8觸發(fā),只需要將多出的GetKeyState刪除即可,具體函數(shù)意

    2024年02月12日
    瀏覽(81)
  • OpenGL-入門(mén)-BMP像素圖glReadPixels(1)實(shí)現(xiàn)讀取屏幕中間的顏色和獲取屏幕上鼠標(biāo)點(diǎn)擊位置的顏色

    OpenGL-入門(mén)-BMP像素圖glReadPixels(1)實(shí)現(xiàn)讀取屏幕中間的顏色和獲取屏幕上鼠標(biāo)點(diǎn)擊位置的顏色

    glReadPixels函數(shù)用于從幀緩沖區(qū)中讀取像素?cái)?shù)據(jù)。它可以用來(lái)獲取屏幕上特定位置的像素顏色值或者獲取一塊區(qū)域內(nèi)的像素?cái)?shù)據(jù)。下面是該函數(shù)的基本語(yǔ)法: x 和 y:讀取區(qū)域左下角的像素坐標(biāo)。 width 和 height:讀取區(qū)域的寬度和高度。 format:像素?cái)?shù)據(jù)的格式,可以是 GL_RGBA、

    2024年02月10日
    瀏覽(34)
  • MFC獲取客戶區(qū)鼠標(biāo)位置和屏幕區(qū)鼠標(biāo)位置

    MFC獲取客戶區(qū)鼠標(biāo)位置和屏幕區(qū)鼠標(biāo)位置

    GetCursorPos獲取屏幕區(qū)鼠標(biāo)位置,參數(shù)是指向接收光標(biāo)屏幕坐標(biāo)的 POINT 結(jié)構(gòu)的指針 MFC的窗體消息響應(yīng)函數(shù)OnMouseMove,第二個(gè)CPoint參數(shù)代表當(dāng)前鼠標(biāo)點(diǎn)在客戶區(qū)的位置 因此重載MFC的OnMouseMove函數(shù)就可以獲取客戶區(qū)鼠標(biāo)位置 測(cè)試代碼

    2024年02月08日
    瀏覽(22)
  • C# 獲取鼠標(biāo)在屏幕中的位置(獲取鼠標(biāo)坐標(biāo))

    近段時(shí)間需要一個(gè)鼠標(biāo)點(diǎn)擊器,目前能找到的都不太符合使用要求,所以就準(zhǔn)備自己寫(xiě)一個(gè) 如果需要顯示文本就把int轉(zhuǎn)換成string. 如果需要顯示到窗體上可以把int轉(zhuǎn)換成string 如果需要實(shí)時(shí)獲取位置信息可以把GetMousePose()方法放到Timer定時(shí)器或者Thread子線程 具體如何選擇看自己的

    2024年02月08日
    瀏覽(21)
  • QT學(xué)習(xí)筆記(三)——vs2019+Qt實(shí)現(xiàn)打開(kāi)影像并以鼠標(biāo)為中心用滾輪控制圖片縮放

    QT學(xué)習(xí)筆記(三)——vs2019+Qt實(shí)現(xiàn)打開(kāi)影像并以鼠標(biāo)為中心用滾輪控制圖片縮放

    之前寫(xiě)了一個(gè)博客講怎么顯示一張影像,那個(gè)是基于Qpainter的 今天使用QLabel來(lái)顯示影像,并且用鼠標(biāo)滾輪控制縮放。 關(guān)于圖像的打開(kāi)和顯示,主要參考這個(gè)博客 關(guān)于如何使圖片自適應(yīng)窗口與鋪滿窗口,可以參考這個(gè)博客。 這兩個(gè)博客出自同一作者,都很詳細(xì)。 其中按照第二

    2024年02月09日
    瀏覽(27)
  • Python模擬鼠標(biāo)點(diǎn)擊與實(shí)時(shí)獲取鼠標(biāo)位置

    鼠標(biāo)點(diǎn)擊會(huì)用到pymouse庫(kù)。 在cmd中運(yùn)行,使用鏡像下載 編譯器在運(yùn)行時(shí)可能會(huì)報(bào)錯(cuò),會(huì)出現(xiàn)No module named win32api問(wèn)題,這是由于Python是沒(méi)有自帶訪問(wèn)windows系統(tǒng)API的庫(kù)的,需要下載。 在cmd中運(yùn)行,使用鏡像下載pywin32。 time.sleep(num),num值可以自己進(jìn)行設(shè)置,單位為秒。 程序運(yùn)行

    2024年02月11日
    瀏覽(32)
  • unity,如何讓當(dāng)前物體獲取鼠標(biāo)位置,轉(zhuǎn)向鼠標(biāo)在屏幕中的位置?

    unity,如何讓當(dāng)前物體獲取鼠標(biāo)位置,轉(zhuǎn)向鼠標(biāo)在屏幕中的位置?

    unity,如何讓當(dāng)前物體獲取鼠標(biāo)位置,轉(zhuǎn)向鼠標(biāo)在屏幕中的位置?

    2024年02月12日
    瀏覽(30)
  • pyautogui獲取鼠標(biāo)位置及循環(huán)點(diǎn)擊指定位置按鈕

    pip install pyautogui可能會(huì)安裝失敗,需要先下載包再按照。 由于本機(jī)利用的是anconda里的python環(huán)境,所以下載后的安裝步驟為: 下載包至本地:PyAutoGUI-0.9.53.tar.gz 下載地址 cd 至包下載目錄下 執(zhí)行命令 conda install --use-local PyAutoGUI-0.9.53.tar.gz -n base 對(duì)應(yīng)含義: conda install --use-local 包文

    2024年02月11日
    瀏覽(27)
  • 【java】獲取鼠標(biāo)當(dāng)前位置代碼

    【java】獲取鼠標(biāo)當(dāng)前位置代碼

    ????????最近在研究自動(dòng)化軟件來(lái)清體力,其中就遇到需要鼠標(biāo)位置的一個(gè)問(wèn)題,于是就運(yùn)用java實(shí)現(xiàn)了這個(gè)功能。 ????????代碼非常簡(jiǎn)單,核心功能就是獲取鼠標(biāo)的X,Y坐標(biāo),然后保存到文件夾中(比較適合用來(lái)學(xué)習(xí)java練手)。 使用流程:文件就三個(gè) ①Game.jar:java代碼

    2024年02月15日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包