Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16496080
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:48:07

下载本文示例代码
  这有点像金山词霸的屏幕取词。要获取当前鼠标位置的类名和句柄,只须通过 WindowFromPoint和GetClassName 这两个Win32函数就可以完成任务,不过,如果要获取当前鼠标位置的字符,可能要复杂得多。 下面是很简单的范例,大家应该都可以轻易弄清楚的。 type TForm1 = class(TForm) NameLB: TLabel; ClassLB: TLabel; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private procedure GetMousePosHwndAndClassName(Sender : TPoint); public end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Timer1Timer(Sender: TObject); var rPos: TPoint; begin if boolean(GetCursorPos(rPos)) then GetMousePosHwndAndClassName(rPos); end; procedure TForm1.GetMousePosHwndAndClassName(Sender: TPoint); var hWnd: THandle; aName: array [0..255] of char; begin hWnd := WindowFromPoint(Sender); NameLB.Caption := ’Handle : ’ IntToStr(hWnd); if boolean(GetClassName(hWnd, aName, 256)) then ClassLB.Caption := ’ClassName : ’ string(aName) else ClassLB.Caption := ’ClassName : not found’; end; procedure TForm1.FormCreate(Sender: TObject); begin Form1.FormStyle := fsStayOnTop; Timer1.Interval := 50; end;   这有点像金山词霸的屏幕取词。要获取当前鼠标位置的类名和句柄,只须通过 WindowFromPoint和GetClassName 这两个Win32函数就可以完成任务,不过,如果要获取当前鼠标位置的字符,可能要复杂得多。 下面是很简单的范例,大家应该都可以轻易弄清楚的。 type TForm1 = class(TForm) NameLB: TLabel; ClassLB: TLabel; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private procedure GetMousePosHwndAndClassName(Sender : TPoint); public end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Timer1Timer(Sender: TObject); var rPos: TPoint; begin if boolean(GetCursorPos(rPos)) then GetMousePosHwndAndClassName(rPos); end; procedure TForm1.GetMousePosHwndAndClassName(Sender: TPoint); var hWnd: THandle; aName: array [0..255] of char; begin hWnd := WindowFromPoint(Sender); NameLB.Caption := ’Handle : ’ IntToStr(hWnd); if boolean(GetClassName(hWnd, aName, 256)) then ClassLB.Caption := ’ClassName : ’ string(aName) else ClassLB.Caption := ’ClassName : not found’; end; procedure TForm1.FormCreate(Sender: TObject); begin Form1.FormStyle := fsStayOnTop; Timer1.Interval := 50; end; 下载本文示例代码


获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄获取当前鼠标位置的类名和句柄
阅读(204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~