Hi all.
Не могу написать глобальный хук на изменения клипбоарда.Мне нужно отлавливать сообщение WM_COPY, например.
Вызываю SetWindowsHookEx с idHook = WH_CALLWNDPROC.
function ClipboardHook(Code, wParam, lParam : integer): LResult; stdcall;
begin
if Code <= 0 then begin
Result := CallNextHookEx(hHook, Code, wParam, lParam);
Exit;
end;
if {здесь проверять Code или wParam, lParam}
Result := CallNextHookEx(hHook, Code, wParam, lParam);
end;
Все попробавл (или не все) — ничего не получается.
Можно как нибудь по другому?
Заранее благодарен.
Здравствуйте, xCarrot, Вы писали:
C>Все попробавл (или не все) — ничего не получается.
C>Можно как нибудь по другому?
C>Заранее благодарен.
WM_COPY — это не то. Это сообщение
ты посылаешь эдит контролу, если хочешь, чтобы он свой текст поместил в буфер обмена.
Чтобы получать уведомления, используй SetClipboardViewer. Когда содержимое буфера изменится, ты получишь WM_DRAWCLIPBOARD. Остальное читай где-то рядом

В MSDN есть примеры.
Здравствуйте, ansi, Вы писали:
A>Здравствуйте, xCarrot, Вы писали:
C>>Все попробавл (или не все) — ничего не получается.
C>>Можно как нибудь по другому?
C>>Заранее благодарен.
A>WM_COPY — это не то. Это сообщение ты посылаешь эдит контролу, если хочешь, чтобы он свой текст поместил в буфер обмена.
A>Чтобы получать уведомления, используй SetClipboardViewer. Когда содержимое буфера изменится, ты получишь WM_DRAWCLIPBOARD. Остальное читай где-то рядом
В MSDN есть примеры.
Согласен. Есть еще нотификация WM_DESTROYCLIPBOARD на разрушение содержимого клипбоарда.
Hello xCarrot, you wrote:
> Не могу написать глобальный хук на изменения клипбоарда.
SetClipboardViewer
--
Всего хорошего, Слава
Posted via RSDN NNTP Server 1.9