freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

游戲外掛制作基礎(chǔ)[適合入門]-文庫(kù)吧

2025-06-09 04:44 本頁(yè)面


【正文】 ,它的常用取值如下:   MOUSEEVENTF_MOVE 表示模擬鼠標(biāo)移動(dòng)事件?!  OUSEEVENTF_LEFTDOWN 表示模擬按下鼠標(biāo)左鍵。   MOUSEEVENTF_LEFTUP 表示模擬放開(kāi)鼠標(biāo)左鍵?!  OUSEEVENTF_RIGHTDOWN 表示模擬按下鼠標(biāo)右鍵?!  OUSEEVENTF_RIGHTUP 表示模擬放開(kāi)鼠標(biāo)右鍵?!  OUSEEVENTF_MIDDLEDOWN 表示模擬按下鼠標(biāo)中鍵?!  OUSEEVENTF_MIDDLEUP 表示模擬放開(kāi)鼠標(biāo)中鍵?! ?2)、設(shè)置和獲取當(dāng)前鼠標(biāo)位置的API函數(shù)。獲取當(dāng)前鼠標(biāo)位置使用GetCursorPos()函數(shù),設(shè)置當(dāng)前鼠標(biāo)位置使用SetCursorPos()函數(shù)。    BOOL GetCursorPos(     LPPOINT lpPoint // 返回鼠標(biāo)的當(dāng)前位置。    )。    BOOL SetCursorPos(    int X, // 鼠標(biāo)的水平方向位置。      int Y //鼠標(biāo)的垂直方向位置?!   ??! ⊥ǔS螒蚪巧男凶叨际峭ㄟ^(guò)鼠標(biāo)移動(dòng)至目的地,然后按一下鼠標(biāo)的按鈕就搞定了。下面我們使用上面介紹的API函數(shù)來(lái)模擬角色行走過(guò)程。   CPoint oldPoint,newPoint?!  etCursorPos(amp。oldPoint)。 //保存當(dāng)前鼠標(biāo)位置?!  ?= +40?!  ?= +10?!  etCursorPos(,)。 //設(shè)置目的地位置。mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0)。//模擬按下鼠標(biāo)右鍵?!  ouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0)。//模擬放開(kāi)鼠標(biāo)右鍵?! ?. 鍵盤模擬技術(shù)  在很多游戲中,不僅提供了鼠標(biāo)的操作,而且還提供了鍵盤的操作,在對(duì)攻擊對(duì)象進(jìn)行攻擊時(shí)還可以使用快捷鍵。為了使這些攻擊過(guò)程能夠自動(dòng)進(jìn)行,外掛程序需要使用鍵盤模擬技術(shù)。像鼠標(biāo)模擬技術(shù)一樣,Windows API也提供了一系列API函數(shù)來(lái)完成對(duì)鍵盤動(dòng)作的模擬?! ∧M鍵盤動(dòng)作API函數(shù)keydb_event,它可以模擬對(duì)鍵盤上的某個(gè)或某些鍵進(jìn)行按下或放開(kāi)的動(dòng)作?!  OID keybd_event(     BYTE bVk, // 虛擬鍵值。     BYTE bScan, // 硬件掃描碼?!    WORD dwFlags, // 動(dòng)作標(biāo)識(shí)。     DWORD dwExtraInfo // 與鍵盤動(dòng)作關(guān)聯(lián)的輔加信息。   )?! ∑渲校琤Vk表示虛擬鍵值,其實(shí)它是一個(gè)BYTE類型值的宏,其取值范圍為1254。有關(guān)虛擬鍵值表請(qǐng)?jiān)贛SDN上使用關(guān)鍵字“VirtualKey Codes”查找相關(guān)資料。bScan表示當(dāng)鍵盤上某鍵被按下和放開(kāi)時(shí),鍵盤系統(tǒng)硬件產(chǎn)生的掃描碼,我們可以MapVirtualKey()函數(shù)在虛擬鍵值與掃描碼之間進(jìn)行轉(zhuǎn)換。dwFlags表示各種樣的鍵盤動(dòng)作,它有兩種取值:KEYEVENTF_EXTENDEDKEY和KEYEVENTF_KEYUP。責(zé)任編輯 :   下面我們使用一段代碼實(shí)現(xiàn)在游戲中按下Shift+R快捷鍵對(duì)攻擊對(duì)象進(jìn)行攻擊。   keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0)。 //按下CTRL鍵。   keybd_event(0x52,MapVirtualKey(0x52,0),0,0)。//鍵下R鍵?!  eybd_event(0x52,MapVirtualKey(0x52,0), KEYEVENTF_KEYUP,0)。//放開(kāi)R鍵。   keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),   KEYEVENTF_KEYUP,0)。//放開(kāi)CTRL鍵?! ?. 激活外掛  上面介紹的鼠標(biāo)和鍵盤模擬技術(shù)實(shí)現(xiàn)了對(duì)游戲角色的動(dòng)作部分的模擬,但要想外掛能工作于游戲之上,還需要將其與游戲的場(chǎng)景窗口聯(lián)系起來(lái)或者使用一個(gè)激活鍵,就象按鍵精靈的那個(gè)激活鍵一樣。我們可以用GetWindow函數(shù)來(lái)枚舉窗口,也可以用Findwindow函數(shù)來(lái)查找特定的窗口。另外還有個(gè)FindWindowEx函數(shù)可以找到窗口的子窗口,當(dāng)游戲切換場(chǎng)景的時(shí)候我們可以用FindWindowEx來(lái)確定些當(dāng)前窗口的特征,從而判斷是否還在這個(gè)場(chǎng)景,方法很多了,比如可以GetWindowInfo來(lái)確定一些東,比如當(dāng)查找不到某個(gè)按鈕的時(shí)候就說(shuō)明游戲場(chǎng)景已經(jīng)切換了等等辦法。當(dāng)使用激活鍵進(jìn)行關(guān)聯(lián),需要使用Hook技術(shù)開(kāi)發(fā)一個(gè)全局鍵盤鉤子,在這里就不具體介紹全局鉤子的開(kāi)發(fā)過(guò)程了,在后面的實(shí)例中我們將會(huì)使用到全局鉤子,到時(shí)將學(xué)習(xí)到全局鉤子的相關(guān)知識(shí)。4. 實(shí)例實(shí)現(xiàn)  通過(guò)上面的學(xué)習(xí),我們已經(jīng)基本具備了編寫動(dòng)作式游戲外掛的能力了。下面我們將創(chuàng)建一個(gè)畫筆程序外掛,它實(shí)現(xiàn)自動(dòng)移動(dòng)畫筆字光標(biāo)的位置并寫下一個(gè)紅色的“R”字。以這個(gè)實(shí)例為基礎(chǔ),加入相應(yīng)的游戲動(dòng)作規(guī)則,就可以實(shí)現(xiàn)一個(gè)完整的游戲外掛。這里作者不想使用某個(gè)游戲作為例子來(lái)開(kāi)發(fā)外掛(因沒(méi)有游戲商家的授權(quán)?。。?,如讀者感興趣的話可以找一個(gè)游戲試試,最好僅做測(cè)試技術(shù)用?! ∈紫?,我們需要編寫一個(gè)全局鉤子,使用它來(lái)激活外掛,激活鍵為F10。創(chuàng)建全局鉤子步驟如下:  (1).選擇MFC AppWizard(DLL)創(chuàng)建項(xiàng)目ActiveKey,并選擇MFC Extension DLL(共享MFC拷貝)類型?! ?2).,在其中輸入如下代碼:   ifndef _KEYDLL_H   define _KEYDLL_H   class AFX_EXT_CLASS CKeyHook:public CObject{    public: CKeyHook()。 ~CKeyHook()?!HOOK
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1