查句柄知多少

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

基本上句柄是标志窗口,我可以根据句柄又可引申其中更多如类名,windowtitle等属性

所以基于这点,一般开发工具会提供查句柄,查类名等工具,vs提供的spy++就是一个很

好例子。现在教你们一查句柄知多少。其实也简单,下面贴出源代码

procedure Tform1.TimerTimer(Sender: TObject);

var

Pos: TPoint;

Handle: HWND;

ScreenDC: HDC;

Buf: array[0..1024] of Char;

ScreenColor: COLORREF;

begin

GetCursorPos(Pos); // 得到当前光标位置

Handle := WindowFromPoint(Pos); // 返回当前位置的句柄

HandleText.Caption := IntToStr(Handle);

GetClassName(Handle, Buf, 1024); // 得到类名

ClassNameText.Caption := Buf;

SendMessage(Handle, WM_GETTEXT, 33, Integer(@Buf)); // 得到标题

TitleText.Caption := Buf;

{ 得到光标处点的颜色 }

ScreenDC := GetDC(0);

ScreenColor := GetPixel(ScreenDC, Pos.X, Pos.Y);

Shape.Brush.Color := TColor(ScreenColor);

RGBColorText.Caption := '红: ' + IntToStr(GetRValue(ScreenColor)) +

' 绿: ' + IntToStr(GetGValue(ScreenColor)) + ' 蓝: ' +

IntToStr(GetBValue(ScreenColor));

ReleaseDC(0, ScreenDC);

DelphiColorText.Caption := Format('Delphi中颜色值:$00%2.2x%2.2x%2.2x', [GetBValue(ScreenColor),

GetGValue(ScreenColor), GetRValue(ScreenColor)]);

HTMLColorText.Caption := Format('HTML颜色值:#%2.2x%2.2x%2.2x', [GetRValue(ScreenColor),

GetGValue(ScreenColor), GetBValue(ScreenColor)]);

end;

P哥网络—http://www.pggpjj.com QQ:68848864

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航