小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

用鼠標(biāo)獲取任意窗口的句柄, 并把它當(dāng)作"干兒子"

 獨(dú)孤求財 2012-03-30
首先建議初學(xué)者不要在這些小的技巧上下太多功夫, 學(xué)好基礎(chǔ)才是根本;
我的博客上這種東西不多, 這是大家討論時, 話趕話趕出來的, 知道有這種可行性即可, 沒有多少實(shí)用價值.

本例效果圖:



此例回復(fù)來賓在
http://www.cnblogs.com/del/archive/2008/02/26/1081644.html 碰到的問題.

全部代碼如下(測試時注意給主窗體焦點(diǎn)):
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{這里主要是設(shè)置控件位置}
procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.Align := alTop;
  Panel1.Height := 30;
  Edit1.Top := 4;
  Edit1.Left := 12;
  Edit1.Width := 72;
  Edit1.Clear;
  Button1.Top := Edit1.Top - 1;
  Button1.Left := Edit1.Left + Edit1.Width + 12;
  Button1.Caption := '確認(rèn)捕獲, 用回車鍵';
  Button1.Width := Canvas.TextWidth(Button1.Caption) + 32;
  Button1.Default := True;
  Button2.Top := Button1.Top;
  Button2.Left := Panel1.ClientWidth - Button2.Width - 12;
  Button2.Anchors := [akRight];
  Button2.Caption := '過來吧你';
  Timer1.Interval := 100;
end;

{捕獲窗口句柄, 顯示在標(biāo)題}
procedure TForm1.Timer1Timer(Sender: TObject);
var
  pt: TPoint;
begin
  if Boolean(GetCursorPos(pt)) then
    Text := IntToStr(WindowFromPoint(pt));
end;

{把確認(rèn)的目標(biāo)窗口的句柄顯示在 Edit1}
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := Self.Text;
end;

{捕獲了干什么呢? 譬如讓它當(dāng)自己的"干兒子"吧}
procedure TForm1.Button2Click(Sender: TObject);
var
  h: HWND;        {這是被捕捉窗口的句柄}
  r: TRect;       {這是被捕捉窗口的矩形}
  pw,ph: Integer; {這是被捕捉窗口的寬度與高度}
begin
  h := StrToInt(Edit1.Text);
  Windows.SetParent(h, Self.Handle);
  GetWindowRect(h,r);
  pw := r.Right - r.Left;
  ph := r.Bottom - r.Top;
  MoveWindow(h, 0, Panel1.Height, pw, ph, True);
end;

end.

發(fā)現(xiàn)還沒處理計算器的關(guān)閉呢, 用處不大, 不再重做了.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多