亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

所見及所得的類分析跟蹤器

2019-11-18 18:15:39
字體:
來源:轉載
供稿:網友

{以下代碼可以分析Windows下的鼠標處的對象類名,句柄及其遞歸父類等信息,是很久以前火鳥的工具軟件視窗超人中的一段代碼。其觸發使用了Timer控件,其實更好的實現是用Windows Mouse Hook來做觸發,就當拋磚引玉吧;此代碼還實現了不依賴于Windows2000以上要求的半透明窗口(在Win98/WinMe下也可半透明),本實現的實現其實比較類似于金山詞霸的即指即譯功能,只不過大家在做不同的應用而已。 在Delphi環境下,新建一個窗體,把代碼貼入即可,本工具主要會對做Windows環境下的開發人員工作有些幫助(如分析別人的程序的控件對象,跟蹤對象句柄等)}
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    PRocedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Timer1: TTimer;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var poss:TPoint;
    ic:Hdc;
    Bmp:TbitMap;
  Hands: HWND;
  Buf: array[0..129] of Char;
  Stmp:TStrings;
  itmp,iwidth,iheight:integer;
  sWord,sline:string;
begin
  GetCursorPos(Poss);
  with self do
  begin
    if (poss.x <> tag-10) or (poss.y<>timer1.Tag-10) then left:=screen.Width
    else
    begin
      Hands := WindowFromPoint(Poss);
      if (left=tag) or (hands=handle) then exit;
      stmp:=TStringList.create;
      stmp.Add('句柄: '+IntToStr(Hands));
      GetClassName(Hands, Buf, 128);
      stmp.Add ('類名: '+Buf);
      itmp:=GetParent(Hands);
      while itmp>0  do
      begin
          GetClassName(itmp, Buf, 128);
          if buf<>'' then stmp.Add (inttostr(stmp.Count-1)+'級父類: '+Buf);
          itmp:=GetParent(itmp);
      end;
      SendMessage(Hands, WM_GETTEXT, 128, Integer(@Buf));
      sword:='字符: '+buf;
      if length(sword)>132 then sword:=sword+'....';
      repeat
        itmp:=pos(chr(10),sWord);
        if itmp>0 then
        begin
          sline:=copy(sWord,1,itmp-1);
          sword:=copy(sWord,itmp+1,length(sword));
        end
        else sline:=sword;
        itmp:=pos(chr(13),sline);
        if itmp>0 then sline:=copy(sline,1,itmp-1);
        stmp.Add(sline);
      until sline=sword;
      iwidth:=0;
      for itmp:=0 to stmp.Count-1 do if canvas.TextWidth(stmp[itmp])+15>iWidth then iWidth:=canvas.TextWidth(stmp[itmp])+15;
      iheight:=stmp.Count*(canvas.TextHeight(stmp[0])+2);
      width:=iwidth;
      height:=iheight;
      SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+ SWP_NOSIZE+SWP_NOACTIVATE+SWP_NOOWNERZORDER);
      ic:=CreateDC('DISPLAY',nil,nil,nil);
      if tag+width>screen.Width then tag:=screen.Width-width;
      if timer1.Tag +height>screen.Height then timer1.Tag:=screen.Height-height;
      Bmp:=Tbitmap.Create;
      bmp.Width := Width;
      bmp.Height :=Height;
      bitblt(bmp.Canvas.handle,0,0,Width,Height,ic,tag,timer1.Tag,SRCCOPY);
      Left :=tag;
      Top :=timer1.tag;
      bitblt(canvas.handle,0,0,Width,Height,bmp.Canvas.handle,0,0,SRCAND);
      canvas.Font.Color:=$0000FF;
      SetBkMode(canvas.handle,TRANSPARENT);
      for itmp:=0 to stmp.Count-1 do canvas.TextOut(5,5+itmp*canvas.TextHeight(stmp[itmp]),TrimRight(stmp[itmp]));
      deletedc(ic);
      bmp.free;
      stmp.Free;
    end;
    tag:=poss.x+10;
    timer1.Tag:=poss.y+10;
  end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  self.BorderStyle:=bsNone;
  Timer1:=TTimer.Create(self);
  timer1.Interval:=300;
  timer1.OnTimer:=Timer1Timer;
end;

end.


上一篇:ComboBox的DataValue值

下一篇:動態加載和動態注冊類技術的深入探索

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美在线看| 97精品欧美一区二区三区| 日韩av综合网| 91久久久久久国产精品| 日韩av一卡二卡| 精品一区精品二区| 欧洲日韩成人av| 日韩国产欧美精品一区二区三区| 亚洲无av在线中文字幕| 亚洲午夜激情免费视频| 欧美日韩中文字幕| 久久这里只有精品视频首页| 中文字幕在线亚洲| 中文字幕视频在线免费欧美日韩综合在线看| 久久国产精品电影| 高潮白浆女日韩av免费看| 91精品综合久久久久久五月天| 久久精品亚洲一区| 91中文字幕一区| 国产精品成人免费电影| 久久精品小视频| 亚洲最大中文字幕| **欧美日韩vr在线| 国产一区二区美女视频| 亚洲无线码在线一区观看| 国内偷自视频区视频综合| 亚洲欧美精品中文字幕在线| 亚洲影视中文字幕| 国产精品视频免费在线观看| 欧美成人激情在线| 精品久久久久久久久久久久久| 久久6免费高清热精品| 米奇精品一区二区三区在线观看| 日本午夜精品理论片a级appf发布| 亚洲性猛交xxxxwww| 国产欧美亚洲视频| 久久久久久久一| 97色在线视频观看| 久久精品2019中文字幕| 97超碰蝌蚪网人人做人人爽| 亚洲精品一二区| 欧美午夜视频一区二区| 最新国产精品拍自在线播放| 国产亚洲欧洲高清| 亚洲一区二区三区香蕉| 国语自产精品视频在免费| 亚洲精品在线不卡| 国产精品中文字幕在线观看| 欧美日韩亚洲成人| 久久精品一本久久99精品| 777777777亚洲妇女| 久久精品视频亚洲| 久久精品最新地址| 成人情趣片在线观看免费| 97精品一区二区视频在线观看| 久久亚洲一区二区三区四区五区高| 川上优av一区二区线观看| 国产精品久久久久久久av大片| 亚洲国产欧美在线成人app| 日韩电影大片中文字幕| 国产日韩换脸av一区在线观看| 久久国产精品久久精品| 亚洲久久久久久久久久| 亚洲色无码播放| 欧美午夜无遮挡| 亚洲二区中文字幕| 成人国内精品久久久久一区| 51ⅴ精品国产91久久久久久| 亚洲精品自拍偷拍| 日韩人体视频一二区| 国产成+人+综合+亚洲欧美丁香花| 国产精品老女人精品视频| 日韩精品欧美国产精品忘忧草| 欧美第一淫aaasss性| 亚洲精品自拍第一页| 97色在线视频观看| 欧美精品久久久久久久久久| 亚洲男人av电影| 亚洲一区二区三区xxx视频| 美女久久久久久久久久久| 97色在线观看免费视频| 日韩在线视频播放| 国产精品狠色婷| 在线性视频日韩欧美| 日韩动漫免费观看电视剧高清| 色婷婷av一区二区三区在线观看| 久久精品国产亚洲7777| 欧美巨猛xxxx猛交黑人97人| 日韩av影视在线| 2019日本中文字幕| 亚洲国产成人久久综合| 伊人亚洲福利一区二区三区| 久久久国产精品一区| 91香蕉电影院| 伦伦影院午夜日韩欧美限制| 欧美中文字幕在线视频| 欧洲精品在线视频| 精品欧美aⅴ在线网站| 国精产品一区一区三区有限在线| 欧美成人四级hd版| 亚洲欧美国产精品专区久久| 久久伊人精品视频| 91国在线精品国内播放| 亚洲黄色免费三级| 久久精品视频免费播放| 懂色av中文一区二区三区天美| 日韩在线视频播放| 日韩一区二区在线视频| 亚洲国产精品久久| 久久精品成人欧美大片| 欧美重口另类videos人妖| 国产成人精品一区二区在线| 成人精品视频久久久久| 韩国日本不卡在线| 一本久久综合亚洲鲁鲁| 国产91精品高潮白浆喷水| 日韩毛片在线看| 亚洲性夜色噜噜噜7777| 亚洲欧洲视频在线| 精品亚洲一区二区| 亚洲国产小视频在线观看| 亚洲最大av网站| 在线播放日韩欧美| 国产日本欧美视频| 久久免费成人精品视频| 成人免费观看网址| 久久久久久久久久婷婷| 中文.日本.精品| 色综合天天狠天天透天天伊人| 欧美中文字幕精品| 在线成人免费网站| 亚洲香蕉av在线一区二区三区| 国产精品久久久久久av| 亚洲欧洲国产伦综合| 久久成人在线视频| 激情亚洲一区二区三区四区| 在线国产精品播放| 日韩av在线一区二区| 国产精品久久久久久久久久久久久| 国产99久久精品一区二区 夜夜躁日日躁| 国产91精品最新在线播放| 亚洲精品乱码久久久久久按摩观| 亚洲人成77777在线观看网| 中文字幕视频一区二区在线有码| 日韩欧美在线视频免费观看| 欧美日韩第一视频| 一本色道久久88亚洲综合88| 久热99视频在线观看| 亚洲免费av电影| 91国产视频在线| 草民午夜欧美限制a级福利片| 日韩经典第一页| 国产欧美日韩精品丝袜高跟鞋| 国产成人综合精品在线| 日韩欧美在线视频免费观看| 亚洲午夜未删减在线观看| 久久这里有精品视频| 成年人精品视频| 亚洲国产欧美在线成人app| 91极品视频在线| 韩日欧美一区二区| 亚洲色图25p| 久久久久久一区二区三区| 亚洲国产精品va在线|