有設(shè)計(jì)各種外掛以及一些修改器的朋友,就是需要這款簡(jiǎn)尚窗口信息獲取器,它是一款制作外掛輔助、修改器、編程人員必備的一款工具。它能夠獲取窗口的句柄、類名、標(biāo)題。獲取進(jìn)程的 進(jìn)程名、句柄、ID、線程ID!
簡(jiǎn)尚窗口信息獲取器怎么用
簡(jiǎn)尚窗口信息獲取器使用方法
一個(gè)類似于SPY++的工具,可查看窗口和控件句柄、類名、標(biāo)題、風(fēng)格等信息,可向窗口發(fā)送文字,可控制窗口狀態(tài),如顯示、隱藏、置頂、關(guān)閉、終止等,可以突破灰色的按鈕。WSEdit用來(lái)修改窗口的樣式信息,如是否可調(diào)整大小、是否可最大化,是否有標(biāo)題欄等等,不過(guò)只能在內(nèi)存中修改。
操作說(shuō)明:拖動(dòng)下面的放大鏡到要查找的窗口,目標(biāo)窗口周圍會(huì)有一個(gè)黑色的方框,這時(shí)放開鼠標(biāo),目標(biāo)窗口的信息就會(huì)在程序中顯示出來(lái)。還有一種方法是直接在“當(dāng)前句柄”文本框中輸入窗口句柄即可。
這個(gè)版本除了可以查看被屏蔽和隱藏和窗口之外,還可以查看某些特殊窗口(某些窗口會(huì)被容器之類的控件所屏蔽)的句柄。
WIN32窗口信息的各種獲取方法
首先攔截WM_LBUTTONDOWN消息,然后再用下面方法獲取鼠標(biāo)位置
方法一:(不建議使用)
在使用win32的一些特殊宏時(shí),有必要注意一下宏的定義,例如:
[cpp] view plaincopy
#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
#define MAKELONG(a, b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
#define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff))
#define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8))
從上面加粗部分可以看出 LOWORD 和 HIWORD 返回值是WORD型,即unsigned short,因此不能表示負(fù)數(shù),在使用的時(shí)候可能就要注意了。
使用方法:
[cpp] view plaincopy
xPos = LOWORD(lParam);
yPos = HIWORD(lParam);
方法二:(常用方法)
對(duì)于一般情況,用方法一是沒(méi)有問(wèn)題的,但有一個(gè)特例,就是利用它們?nèi)‘?dāng)前鼠標(biāo)的坐標(biāo)時(shí),因?yàn)槭髽?biāo)有時(shí)候會(huì)移出窗口,因此我們得到的值本應(yīng)該是負(fù)數(shù),但是利用這兩個(gè)宏得出的值始終是正值。我們可以用以下的宏來(lái)代替。
[cpp] view plaincopy
#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
其頭文件是:#include <windowsx.h>
使用方法:
[cpp] view plaincopy
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
注意:方法一中的函數(shù)沒(méi)有試,但方法二中的函數(shù),獲取的是客戶區(qū)的坐標(biāo),不包括非客戶區(qū),除非窗體類型是如WS_POPUP等此類只有客戶區(qū)的窗體!
方法三:GetCursorPos()獲取鼠標(biāo)的屏幕坐標(biāo)
這個(gè)就無(wú)所謂是不是要攔截消息了,直接就可以用!但獲取的鼠標(biāo)的屏幕坐標(biāo),如果要轉(zhuǎn)化成窗體客戶區(qū)坐標(biāo),需要使用ScreenToClient();
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版