淺談游戲中的模擬點擊程序.doc

淺談游戲中的模擬點擊程序.doc

ID:28106287

大小:960.50 KB

頁數(shù):13頁

時間:2018-12-08

淺談游戲中的模擬點擊程序.doc_第1頁
淺談游戲中的模擬點擊程序.doc_第2頁
淺談游戲中的模擬點擊程序.doc_第3頁
淺談游戲中的模擬點擊程序.doc_第4頁
淺談游戲中的模擬點擊程序.doc_第5頁
資源描述:

《淺談游戲中的模擬點擊程序.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、淺談游戲中的模擬點擊程序  游戲程序的操作不外乎兩種——鍵盤輸入控制和鼠標(biāo)輸入控制,幾乎所有游戲中都使用鼠標(biāo)來改變角色的位置和方向,本文主要是講述如何使用C#調(diào)用WindowsAPI函數(shù)實現(xiàn)鼠標(biāo)模擬操作的功能。首先通過結(jié)合FindWindow和FindWindowEx尋找到窗體的按鈕,在通過SetCursorPos或mouse_event函數(shù)操作鼠標(biāo),同時涉及到通過spy++工具獲取窗體消息的信息?! ∫?。WindowsAPI函數(shù)介紹  .NET沒有提供改變鼠標(biāo)指針位置、模擬單機操作的函數(shù),但是可以通過調(diào)用WindowsAPI函數(shù)實現(xiàn)?! 。跠llImport(“user32.

2、dll”)]  staticexternboolSetCursorPos(intX,intY);  該函數(shù)用于設(shè)置鼠標(biāo)的位置,其中X和Y是相對于屏幕左上角的絕對位置。 ?。跠llImport(“user32.dll”)]  staTIcexternvoidmouse_event(MouseEventFlagflags,intdx,intdy,uintdata,UIntPtrextraInfo);  該函數(shù)不僅可以設(shè)置鼠標(biāo)指針絕對位置,而且可以以相對坐標(biāo)來設(shè)置位置?! ∑渲衒lags標(biāo)志位集,指定點擊按鈕和鼠標(biāo)動作的多種情況.dx指鼠標(biāo)沿x軸絕對位置或上次鼠標(biāo)事件位置產(chǎn)生以來移動

3、的數(shù)量.dy指沿y軸的絕對位置或從上次鼠標(biāo)事件以來移動的數(shù)量.data如果flags為MOUSE_WHEEL則該值指鼠標(biāo)輪移動的數(shù)量(否則為0),正值向前轉(zhuǎn)動.extraInfo指定與鼠標(biāo)事件相關(guān)的附加32位值?! 。跠llImport(“user32.dll”)]  staTIcexternIntPtrFindWindow(stringstrClass,stringstrWindow);  該函數(shù)根據(jù)類名和窗口名來得到窗口句柄,但是這個函數(shù)不能查找子窗口,也不區(qū)分大小寫。如果要從一個窗口的子窗口查找需要使用FIndWindowEX函數(shù)?! 。跠llImport(“user32

4、.dll”)]  staTIcexternIntPtrFindWindowEx(IntPtrhwndParent,IntPtrhwndChildAfter,  stringstrClass,stringstrWindow);  該函數(shù)獲取一個窗口的句柄,該窗口的類名和窗口名與給定的字符串相匹配,該函數(shù)查找子窗口時從排在給定的子窗口后面的下一個子窗口開始。其中參數(shù)  hwnParent為要查找子窗口的父窗口句柄,若該值為NULL則函數(shù)以桌面窗口為父窗口,查找桌面窗口的所有子窗口?! wndChildAfter子窗口句柄,查找從在Z序中的下一個子窗口開始,子窗口必須為hwnPar

5、ent直接子窗口而非后代窗口,若hwnChildAfter為NULL,查找從父窗口的第一個子窗口開始。  strClass指向一個指定類名的空結(jié)束字符串或一個標(biāo)識類名字符串的成員的指針?! trWindow指向一個指定窗口名(窗口標(biāo)題)的空結(jié)束字符串。若為NULL則所有窗體全匹配?! 》祷刂担喝绻瘮?shù)成功,返回值為具有指定類名和窗口名的窗口句柄,如果函數(shù)失敗,返回值為NULL.  二。鼠標(biāo)自動點擊按鈕和查看鼠標(biāo)運行軌跡  首先創(chuàng)建一個C#工程,設(shè)計的窗體如下圖所示,同時添加TImer時間器控件:  然后添加的如下代碼,即可實現(xiàn)鼠標(biāo)模擬技術(shù)及自動操作鼠標(biāo):  usingSyst

6、em;  usingSystem.Collections.Generic;  usingSystem.ComponentModel;  usingSystem.Data;  usingSystem.Drawing;  usingSystem.Linq;  usingSystem.Text;  usingSystem.Threading.Tasks;  usingSystem.Windows.Forms;  //引用新命名空間  usingSystem.Runtime.InteropServices;//StructLayout  namespaceMouseAction  { 

7、 publicpartialclassForm1:Form  {  publicForm1()  {  InitializeComponent();  }  //結(jié)構(gòu)體布局本機位置 ?。跾tructLayout(LayoutKind.Sequential)]  structNativeRECT  {  publicintleft;  publicinttop;  publicintright;  publicintbottom;  }  //將枚舉作為位域處理 ?。跢lags]  enumM

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。