有設(shè)計各種外掛以及一些修改器的朋友,就是需要這款簡尚窗口信息獲取器,它是一款制作外掛輔助、修改器、編程人員必備的一款工具。它能夠獲取窗口的句柄、類名、標題。獲取進程的 進程名、句柄、ID、線程ID!
簡尚窗口信息獲取器怎么用
簡尚窗口信息獲取器使用方法
一個類似于SPY++的工具,可查看窗口和控件句柄、類名、標題、風格等信息,可向窗口發(fā)送文字,可控制窗口狀態(tài),如顯示、隱藏、置頂、關(guān)閉、終止等,可以突破灰色的按鈕。WSEdit用來修改窗口的樣式信息,如是否可調(diào)整大小、是否可最大化,是否有標題欄等等,不過只能在內(nèi)存中修改。
操作說明:拖動下面的放大鏡到要查找的窗口,目標窗口周圍會有一個黑色的方框,這時放開鼠標,目標窗口的信息就會在程序中顯示出來。還有一種方法是直接在“當前句柄”文本框中輸入窗口句柄即可。
這個版本除了可以查看被屏蔽和隱藏和窗口之外,還可以查看某些特殊窗口(某些窗口會被容器之類的控件所屏蔽)的句柄。
WIN32窗口信息的各種獲取方法
首先攔截WM_LBUTTONDOWN消息,然后再用下面方法獲取鼠標位置
方法一:(不建議使用)
在使用win32的一些特殊宏時,有必要注意一下宏的定義,例如:
[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,因此不能表示負數(shù),在使用的時候可能就要注意了。
使用方法:
[cpp] view plaincopy
xPos = LOWORD(lParam);
yPos = HIWORD(lParam);
方法二:(常用方法)
對于一般情況,用方法一是沒有問題的,但有一個特例,就是利用它們?nèi)‘斍笆髽说淖鴺藭r,因為鼠標有時候會移出窗口,因此我們得到的值本應該是負數(shù),但是利用這兩個宏得出的值始終是正值。我們可以用以下的宏來代替。
[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ù)沒有試,但方法二中的函數(shù),獲取的是客戶區(qū)的坐標,不包括非客戶區(qū),除非窗體類型是如WS_POPUP等此類只有客戶區(qū)的窗體!
方法三:GetCursorPos()獲取鼠標的屏幕坐標
這個就無所謂是不是要攔截消息了,直接就可以用!但獲取的鼠標的屏幕坐標,如果要轉(zhuǎn)化成窗體客戶區(qū)坐標,需要使用ScreenToClient();
- PC官方版
- 安卓官方手機版
- IOS官方手機版