请教怎么监视剪贴版和IE5.0中鼠标的点击?谢谢!(100分)

  • 主题发起人 主题发起人 hylwr
  • 开始时间 开始时间
监视剪贴板可将窗口注册成剪贴板查看器
具体的方法是使用函数SetClipboardViewer(Hwnd: hWnd);
此函数会将此窗口加入剪贴板查看链
如果剪贴板内容变化,窗口将获得WM_DRAWCLIPBOARD消息
在处理这一消息时要注意将消息传递给链中的下一个句柄
取消监视可使用函数ChangeClipboardChain

具体实现可参考Win32 SDK Help中的Clipboard章
 
能说具体写么?谢谢!
 
用过rxlib吗? 那里面有一个控件.
 
TForm1=class(TForm)
...
private
NextViewer: hWnd;
procedure WMDrawClipboard(var Msg: TMessage); message WM_DRAWCLIPBOARD;
...
end;
...
begin
hWnd:=SetClipboardViewer(Hwnd: hWnd);//Add Viewer
end;

procedure WMDrawClipboard(var Msg: TMessage);
begin
...
Result:=SendMessage(NextViewer,WM_DRAWCLIPBOARD,Msg.wParam,Msg.lParam);
end;

...
begin
ChangeClipboardChain(NextViewer)//Delete Viewer 语法可能有错!
end;
 
同志们,怎样获取IE中点击url的消息呢?
 
I want to know
 
g.

你想做什么,不妨说出来,也许有别的办法解决;
 
我也想知道^0^
 
一个处理剪贴板的简单例子,只是将剪贴板的文字内容显示为窗口标题。

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
Clipbrd;//加入clipbrd单元

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
private
{ Private declarations }
public
NextClipHwnd:HWND;//观察链中下一个窗口句柄
procedure WMDrawClipBoard
(var AMessage:TMessage);
message WM_DRAWCLIPBOARD;
//处理WM_DRAWCLIPBOARD消息过程
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

procedure TForm1.WMDrawClip
Board(var AMessage: TMessage);
begin
//将WM_DRAWCLIPBOARD
消息传递到下一个观察链中的窗口
SendMessage(NextClipHwnd,AMessage.
Msg,AMessage.WParam,AMessage.LParam);
//查询剪贴板中特定格式的数据内容
if (Clipboard.HasFormat(CF_TEXT) or
Clipboard.HasFormat(CF_OEMTEXT)) then
begin
//处理剪贴板中内容
Caption:=Clipboard.asText;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//获得观察链中下一个窗口句柄
NextClipHwnd:=SetClipBoardViewer(Handle);
end;

procedure TForm1.FormClose
(Sender: TObject; var Action: TCloseAction);
begin
//从观察链中删除本观察窗口
ChangeClipboardChain(Handle,NextClipHwnd);
//将WM_DRAWCLIPBOARD
消息传递到下一个观察链中的窗口
SendMessage(NextClipHwnd,WM_
CHANGECBCHAIN,Handle,NextClipHwnd);
end;

end.
 
I want to know how to add menu to IE's menu, like netant...
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部