国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號(hào)

詳細(xì)解析Windows按鍵突破專家的原理
2007-01-25   

相信在Window按鍵突破專家沒有出來的時(shí)候,很多人還不知道軟件還可以這樣編的吧,本人也是一樣,當(dāng)知道有Window按鍵突破專家這個(gè)軟件時(shí),仔細(xì)去想一下它的實(shí)現(xiàn)原理,才突然恍然大悟,原來原理居然是這么的簡單,為什么以前我就沒有想到呢。

好了,不說那么多廢話,直接進(jìn)入主題,我先是說說按鍵突破的原理。實(shí)現(xiàn)按鍵突破的其實(shí)就是EnableWindow這個(gè)函數(shù)。

BOOL EnableWindow(
HWND hWnd,
BOOL bEnable
);

hWnd 指定將要啟用或者禁用的窗口的句柄;

bEnable 若為TRUE則啟用窗口,為FALSE則禁用窗口。

只要把EnableWindow的第二個(gè)參數(shù)設(shè)置為TRUE,第一個(gè)參數(shù)填控件的句柄就將原來被禁止的控件重新變?yōu)榭捎谩?

現(xiàn)在的主要的問題是怎么得到控件的句柄,用VC++的朋友,應(yīng)該都用過Spy++這個(gè)強(qiáng)大的工具吧,它可以得到任意控件的句柄,和窗口的類名,看完這篇文章后,讀者們也可以自己做一個(gè)屬于自己的Spy++啦。

先介紹一下RealChildWindowFromPoint這個(gè)函數(shù),該函數(shù)的功能是用來獲取在指定點(diǎn)上的子窗口的句柄。

HWND RealChildWindowFromPoint(
HWND hwndParent,       // 父窗口的句柄
POINT ptParentClientCoords // 以客戶坐標(biāo)指定的點(diǎn)
)

返回值:返回其子窗口句柄。

RealChildWindowFromPoint函數(shù)只能夠查找到由ptParentClientCoords 所得到的子窗口,但是無法得到最深層的窗口,也就是說如果有兩個(gè)窗口重疊,就無法得到下面的窗口,這樣的情況是經(jīng)常出現(xiàn)的。

“第一個(gè)子窗口”的窗口和“最深層的窗口”的復(fù)選框窗口就重疊了,如果用 RealChildWindowFromPoint 就只能得到“第一個(gè)子窗口”的窗口,而無法的到“最深層的窗口”的復(fù)選框,所以只簡單的調(diào)用這個(gè)函數(shù)是無法實(shí)現(xiàn)Spy++的功能的。

大家來看看這個(gè)函數(shù),這個(gè)函數(shù)會(huì)將鼠標(biāo)所在的位置的窗口句柄賦予*phWnd。讀者下次想得實(shí)現(xiàn)spy++的功能就調(diào)用這個(gè)函數(shù)就可以了。

解釋一下,用GetCursorPos得到的鼠標(biāo)位置,是屏幕的鼠標(biāo)位置,比如你的分辨率為1024*768,GetCursorPos這個(gè)函數(shù)得到的就是在1024*768這個(gè)屏幕范圍的鼠標(biāo)位置,而客戶區(qū)窗口坐標(biāo),指的是鼠標(biāo)在一個(gè)窗口上的坐標(biāo),不同于屏幕坐標(biāo)。

void GetRealWindow(HWND *phWnd)
{     
  POINT ptPoint;
  HWND hWndTop = NULL;
  HWND hWndChild = NULL; 
  POINT ptCooChild = {0};
  
  //先得到ptPoint指向的(子)窗口,再通過子窗口得到父窗口的句柄
  GetCursorPos(&ptPoint);//得到鼠標(biāo)的位置
  hWndTop = ::WindowFromPoint(ptPoint);//獲取鼠標(biāo)包含指定點(diǎn)的窗口的句柄
  ptCooChild = ptPoint; 
  *phWnd = GetParent(hWndTop);   //用來獲取最上層的父窗口的句柄
  
  ::ScreenToClient(*phWnd, &ptCooChild);//該函數(shù)將屏幕的一個(gè)坐標(biāo)轉(zhuǎn)換成客戶區(qū)(窗口)的坐標(biāo)
  
  //從最上層的窗口開始外下找,只直到找到最地層的窗口
  while (TRUE){
    hWndChild = RealChildWindowFromPoint(*phWnd, ptCooChild);
  if (hWndChild && (hWndChild != *phWnd))
      *phWnd = hWndChild;
    else
      break;
  }
}

呵呵,代碼不是很多,如果看不懂的話,不要緊,懂得調(diào)用這個(gè)函數(shù)就可以啦。現(xiàn)在要再調(diào)用EnableWindow就可以了。

HWND s;
GetRealWindow(&s);
::EnableWindow(s,1);

如果只是運(yùn)行一次這面的這些語句的話,還是不行的,必須在程序開啟突破功能的時(shí)候一直運(yùn)行。所以,

while(1)
{
GetRealWindow(&s);
::EnableWindow(s,1);
Sleep(100);
}

但是,這樣的話,問題又來了,就是讓程序休息100毫秒,這個(gè)程序還是會(huì)把所以的cpu都占用完的,總不能因?yàn)檫@一個(gè)程序,而把資源的耗盡了,這是誰都不愿意看到的。這時(shí),就必須用到多線程了,對(duì)于多線程技術(shù),很多文章都有介紹了的,我就不多說那么多了。

DWORD WINAPI run(LPVOID l)
{
while(k==1)
{
GetRealWindow(&s);
::EnableWindow(s,1);

Sleep(100);
}
ExitThread(dwThreadID);
return 1;
}

先把實(shí)現(xiàn)按鍵突破的語句放在一個(gè)新的函數(shù)里。里面的這個(gè)k,是個(gè)全句變量。先在“資源”中添加一個(gè)Button按鍵(只是為了說明問題,所以程序做得很簡單)。

void CJiandanwindowDlg::OnButton1() 
{
  k=1;
CreateThread(NULL,0,run,(LPVOID)i,0,&dwThreadID);
}

當(dāng)按了一下Button時(shí),就可以開始實(shí)現(xiàn)按鍵突破的功能了。仔細(xì)看一下,會(huì)發(fā)現(xiàn)這個(gè)程序和Window按鍵突破專家有點(diǎn)不同,因?yàn)閃indow按鍵突破專家在鼠標(biāo)指向一個(gè)窗口時(shí),就會(huì)將那個(gè)窗口下所有被禁止的控件都變成可用,而本程序,是鼠標(biāo)指去哪個(gè)不可用的控件,那個(gè)控件就會(huì)編程可用,其他控件不受影響,如果想和Window按鍵突破專家一樣的功能,其實(shí)也很簡單,只要改一下代碼就可以了,讀者們自己想想吧。

補(bǔ)充一點(diǎn):這個(gè)程序不能直接在VC++下運(yùn)行,因?yàn)樵创a將編譯不了,必須去微軟的老窩去下載最新的Windows Sdk,安裝以后,把所有的.h和.lib拷貝到VC++的相關(guān)目錄里。Windows sdk有許多有用的函數(shù),建議用VC++的朋友都應(yīng)該去下載。

熱詞搜索:

上一篇:黑客技巧之用UDP協(xié)議的木馬編寫方法
下一篇:教你如何注冊(cè)DLL或OCX文件

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
国产欧美一区二区三区网站| 91精品视频网| 蜜臀久久99精品久久久画质超高清 | 亚洲色欲色欲www| 日韩精品一区二区三区四区 | 在线观看视频一区| 国产成人在线观看免费网站| 午夜成人在线视频| 最近中文字幕一区二区三区| 26uuu成人网一区二区三区| 欧美日韩三级一区| 日本韩国一区二区三区视频| 国产成a人亚洲| 久久se精品一区二区| 日韩中文字幕区一区有砖一区| 亚洲国产精品精华液2区45| 精品免费视频一区二区| 欧美日本一道本| 91精品91久久久中77777| 本田岬高潮一区二区三区| 国产精品一区二区91| 免费观看久久久4p| 首页国产丝袜综合| 亚洲成人777| 亚洲在线视频一区| 一区二区三区四区中文字幕| 国产精品视频一区二区三区不卡| 亚洲精品在线三区| 日韩精品专区在线影院观看| 欧美丰满嫩嫩电影| 欧美高清性hdvideosex| 欧美久久久影院| 欧美色大人视频| 欧美色网站导航| 欧美日韩国产一二三| 欧美久久久久免费| 欧美老年两性高潮| 91麻豆精品国产综合久久久久久 | 成人免费视频免费观看| 国产成人免费视频网站| 丁香啪啪综合成人亚洲小说| 国产高清不卡一区二区| 粉嫩绯色av一区二区在线观看| 国产一区二区精品久久| 国产久卡久卡久卡久卡视频精品| 蜜桃91丨九色丨蝌蚪91桃色| 精久久久久久久久久久| 国产乱子伦一区二区三区国色天香| 精品写真视频在线观看 | 欧美精选一区二区| 91精品福利在线一区二区三区| 欧美精品aⅴ在线视频| 欧美一二三区在线| 欧美精品一区二区三区四区| 国产日韩欧美一区二区三区综合| 欧美激情综合五月色丁香| 亚洲视频一二区| 亚洲国产美女搞黄色| 男女男精品视频| 国产麻豆精品theporn| 成人av网站免费| 欧美三级一区二区| 日韩久久久久久| 亚洲国产精品v| 亚洲精品国产无天堂网2021| 亚洲第一久久影院| 久久国产生活片100| 成人va在线观看| 欧美日韩精品综合在线| 精品av综合导航| 亚洲品质自拍视频| 秋霞午夜鲁丝一区二区老狼| 国产精品资源网站| 在线观看视频一区二区| 精品久久久久久最新网址| 中文字幕一区二区三区四区不卡 | 精品欧美乱码久久久久久| 亚洲国产精品激情在线观看| 亚洲电影一级黄| 国产精品一区不卡| 欧美日韩国产片| 日本一区二区成人| 日韩av在线播放中文字幕| 国产精品1区2区3区在线观看| 一本色道久久综合狠狠躁的推荐 | 日韩免费福利电影在线观看| 国产精品乱人伦一区二区| 午夜精品国产更新| 国产精品综合久久| 欧美日本韩国一区| 国产精品视频麻豆| 蜜桃av一区二区在线观看| 91亚洲男人天堂| 日韩精品一区二区三区在线观看| 亚洲女人的天堂| 国产麻豆视频一区| 欧美一级夜夜爽| 一区二区三区成人| 成人综合在线观看| 欧美日韩午夜在线视频| 国产精品传媒视频| 国产综合久久久久影院| 欧美私人免费视频| 亚洲日本在线看| 国产福利91精品一区| 日韩精品在线一区| 亚洲成av人**亚洲成av**| 99视频有精品| 亚洲国产成人在线| 国产精品亚洲一区二区三区在线| 欧美精品乱人伦久久久久久| 亚洲精品欧美专区| 成人av网址在线| 欧美国产欧美综合| 国产在线不卡一区| 欧美电影免费观看完整版| 日韩高清不卡在线| 欧美午夜精品一区二区三区 | 偷拍一区二区三区四区| 日本丰满少妇一区二区三区| 欧美国产精品v| 国产99久久久国产精品| 国产日韩亚洲欧美综合| 国产精品香蕉一区二区三区| 久久久久久**毛片大全| 极品瑜伽女神91| 日韩亚洲欧美一区| 老司机精品视频一区二区三区| 欧美日韩精品久久久| 亚洲国产成人tv| 欧美日韩在线免费视频| 亚洲一区二区三区四区五区黄| 一本色道久久综合亚洲aⅴ蜜桃 | 国产一区二区精品在线观看| 日韩精品一区二区三区在线播放| 欧美aaa在线| 日韩女优视频免费观看| 久久er99精品| 久久久久久久久久久久电影| 国产乱一区二区| 日本一区二区三区在线观看| 国产成人啪免费观看软件| 欧美高清在线精品一区| 91麻豆文化传媒在线观看| 一区二区三区四区激情| 欧美日韩你懂的| 奇米综合一区二区三区精品视频| 日韩片之四级片| 国产精品一卡二| 日韩一区在线免费观看| 在线视频一区二区三| 日韩av一二三| 精品久久久久久无| 成人18精品视频| 亚洲一区在线视频| 日韩精品一区二区三区在线| 国产成人av电影在线| 亚洲综合一区二区三区| 这里只有精品免费| 国产成人8x视频一区二区| 又紧又大又爽精品一区二区| 欧美年轻男男videosbes| 韩国精品在线观看| 国产精品免费久久| 欧美日韩在线播放三区四区| 蜜桃视频在线观看一区| 中文字幕中文字幕在线一区 | 在线电影院国产精品| 国产精品伊人色| 亚洲综合色自拍一区| 日韩欧美成人激情| 97精品国产97久久久久久久久久久久| 亚洲一区二区精品久久av| 日韩一区二区中文字幕| 成人免费福利片| 午夜精品福利一区二区蜜股av| 精品99999| 欧美色图12p| 大美女一区二区三区| 水野朝阳av一区二区三区| 久久九九全国免费| 欧美日韩久久不卡| 床上的激情91.| 久久精品理论片| 亚洲精选免费视频| 久久综合久久综合亚洲| 91在线观看下载| 久久97超碰国产精品超碰| 亚洲另类中文字| 久久久综合激的五月天| 欧美日韩国产bt| 不卡av在线网| 国产综合久久久久影院| 午夜精品久久久久久不卡8050| 国产精品乱码人人做人人爱| 日韩一卡二卡三卡四卡| 日本久久一区二区| 福利电影一区二区三区| 另类欧美日韩国产在线| 亚洲一区二区三区四区五区中文|