我想做一個(gè)鼠標(biāo)移動(dòng)到哪就顯示出那個(gè)窗口的類名和標(biāo)題名的程序?
你是想模擬按鍵么?
首先要獲得窗口的句柄 用下面的函數(shù)應(yīng)該能找到:
FindWindow根據(jù)類名\窗口標(biāo)題尋找窗口
遍歷頂層窗口EnumWindows
遍歷窗口回調(diào)函數(shù)EnumWindowProc
遍歷父窗口的所有子窗口EnumChildWindows
返回父窗口Point處的子窗口ChildWindowFromPoint
ChildWindowFromPointEx多一個(gè)參數(shù)UINT來(lái)忽略不可見(jiàn)無(wú)效透明的子窗口
獲取與指定窗口具有莫種關(guān)系的窗口GetWindow
獲取父窗口的子窗口中Z序最大的子窗口GetTopWindow
獲取指定窗口相同層次Z序差1的窗口GetNextWindow
獲取桌面窗口句柄GetDesktopWindow
用SendMessage函數(shù)不需要窗口標(biāo)題的,只要句柄
LRESULT SendMessage(
HWND hWnd, // handle of destination window
UINT Msg, // message to send
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
或者用keybd_event函數(shù),要先用SetForegroundWindow函數(shù)把目標(biāo)窗口設(shè)置成前臺(tái)窗口
VOID keybd_event(
BYTE bVk, // virtual-key code
BYTE bScan, // hardware scan code
DWORD dwFlags, // flags specifying various function options
DWORD dwExtraInfo // additional data associated with keystroke
);
補(bǔ)充:
第一個(gè):我進(jìn)入某個(gè)游戲,用CE查到內(nèi)存地址后,退出游戲,再查內(nèi)存地址,兩個(gè)內(nèi)存地址是不一樣的,有什么辦法可以讓每次的內(nèi)存地址都一樣?或者說(shuō)下別的解決方法?
不讓每次的內(nèi)存地址都一樣應(yīng)該是做不到的,游戲每次運(yùn)行由系統(tǒng)分配內(nèi)存,哪能讓你控制啊。
第二個(gè):我想讓鼠標(biāo)在內(nèi)存數(shù)值到某一個(gè)數(shù)值時(shí),鼠標(biāo)移動(dòng)到某點(diǎn)進(jìn)行鼠標(biāo)操作,該怎么寫(xiě)源代碼?
定義一個(gè)指針變量p,類型根據(jù)你需要的數(shù)值而定
p=該內(nèi)存地址
if(*p==該數(shù)值)
{
//mousemove
}