| 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; |