魔獸顯血功能的實現

2021-05-24 07:50:08 字數 709 閱讀 7089

今天一是興起,想看看warkey功能的實現。從簡單的顯血開始實現,因為涉及到定時器功能,所以就看了windows程式設計定時器一章,然後查了些資料,實現了顯血的功能。

首先是設定定時器:

settimer(....);

settimer(hwnd,id_timer,500,null);//每半秒產生乙個wm_timer訊息

關閉定時器:

killtimer(...);

killtimer(hwnd,id_timer);

向魔獸視窗控制代碼傳送按鍵訊息:

這裡要提到2點:

1.怎麼得到魔獸控制代碼:

通過findwindow可以得到:

hwar3=findwindow(null,text("warcraft iii"));

怎麼判斷當前獲得焦點的視窗是不是魔獸視窗:

通過getforegroundwindow可以得到:

htop=getforegroundwindow();

2.向魔獸視窗傳送什麼訊息:

一般我們都知道按alt鍵可以顯血,但是alt鍵跟其他鍵組合會出現問題。還有一種方法是「[」和「]」鍵也可以完成相同的工作。所以對應:

sendmessage(hwar3,wm_keydown,vk_oem_4,0);

sendmessage(hwar3,wm_keydown,vk_oem_6,0);

然後功能就完成了**如下:

c 實現魔獸 warIII 中顯血和改鍵功能

思路 hook sendmessage,首先,因為我們要改的鍵war3不是自己寫的程式,所以只能用hook來監控鍵盤的按鍵 鍵盤hook 建立全域性hook 開啟war3,在裡面按了幾下鍵盤,彈出了看,有好幾個對話方塊,說明可以監測到war3裡面的按鍵,我的思路是向視窗傳送訊息,必須找到獲取視窗的控...

Tags功能的實現

看了jessezhao的web2.0裡面的tags功能的實現 http www.cnblogs.com jessezhao archive 2007 03 20 680520.html 於是把自己的tags實現也貼上來吧 1.表的關係 我是用三個表來實現的 乙個主的文章表,兩個tags的附加表。2....

實現的功能(2)

這兩天要準備 答辯,所以沒有寫東西了,實在對不起。說不定過幾天還要準備搬家,所以也許會更新更加慢。今天我們設計一下訂單和訂單明細的功能。1 categories 產品型別 1 新增產品型別 2 修改產品型別 3 刪除產品型別 4 檢視指定產品型別下的產品明細 上面 4個是我們要實現的功能,前 3個我...