Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Внизclipboard Найти похожие ветки
← →
snake77 (2005-12-14 10:29) [0]Здравствуйте!
подскажите как сделать опрос clipboard на наличие в нем какой бы то нибыло информации. Япопробовал сделать в цикле, но при этом сильно грузится машина.
Я так понимаю что надо делать событийно, т.е. при появлении чегото в клибоарде должна вызываться процедурка.
у TClipboard нет эвентов, хук тоже ненайду
:(
← →
Rouse_ © (2005-12-14 10:49) [1]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
hwndNextViewer: THandle;
procedure WMChangeCbChain(var Message: TWMChangeCBChain); message WM_CHANGECBCHAIN;
procedure WMDrawClipboard(var Message: TMessage); message WM_DRAWCLIPBOARD;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// Add the window to the clipboard viewer chain.
hwndNextViewer := SetClipboardViewer(Handle);
end;
procedure TForm1.WMChangeCbChain(var Message: TWMChangeCBChain);
begin
with Message do
begin
// If the next window is closing, repair the chain.
if Remove = hwndNextViewer then
hwndNextViewer := Next
// Otherwise, pass the message to the next link.
else
if hwndNextViewer <> 0 then
SendMessage(hwndNextViewer, Msg, Remove, Next);
end;
end;
// clipboard contents changed.
procedure TForm1.WMDrawClipboard(var Message: TMessage);
begin
// Pass the message to the next window in clipboard
// viewer chain.
with Message do
SendMessage(hwndNextViewer, Msg, WParam, LParam);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ChangeClipboardChain(Handle, hwndNextViewer);
end;
end.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c