![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_PASTE или WM_COPY , а так же SetClipboardViewer
Dwemer © (2003-07-28 22:03:00)
Пробовал ловить их в хуках WH_GETMESSAGE и WH_CALLWNDPROC - не ловятся. Ставил ClipboardViewer и ловил WM_DRAWCLIPBOARD - нормально. Проблема в том что это должно работать в DLL без всяких окон, но тогда какой хэндл мне указывать в SetClipboardViewer() ?? Заранее спасибо
Dwemer (2003-07-29 20:36:00) [1]
Спасибо за совет. Хоть это и не очень красиво получается, но раз иначе никак =) А может кто-то все-таки знает способ получить WM_PASTE ?
nikkie (2003-07-29 14:52:00) [2]
>Игорь Шевченко
сорри, чей-то я запутался :)
думал о WM_COPY как о WM_PASTE.
наверное, название темы так повлияло
Игорь Шевченко (2003-07-29 13:12:00) [3]
nikkie © (29.07.03 13:04)
Сдается мне, что после WM_COPY содержимое Clipboard в большинстве случаев-таки изменится :))
nikkie (2003-07-29 13:04:00) [4]
Никто не мешает создать невидимое окно, оконная процедура которого будет обрабатывать только 2 сообщений WM_DRAWCLIPBOARD и WM_CHANGECBCHAIN. Вот только
Clipboard viewer windows receive a WM_DRAWCLIPBOARD message whenever the content of the clipboard changes.
Clipboard viewer отслеживает изменения содержимого, WM_COPY ты не получишь.
Игорь Шевченко (2003-07-29 12:18:00) [5]
А кто мешает завести окно, которое будет следить за буфером ? AFAIK, после WM_COPY оно и будет получать сообщения WM_DRAWCLIPBOARD
Dwemer (2003-07-29 12:10:00) [6]
Нет.
" WND SetClipboardViewer(HWND hWndNewViewer);
hWndNewViewer - Identifies the window to be added to the clipboard chain. "
Как я понял, это хэндл окна, которое будет получать уведомления о изменении буфера. Мне нужно получать сообщения WM_COPY при копировании во всех окнах абсолютно. Как в GetRight - копируешь УРЛ в буфер, и ГетРайт сам тут же добавляет его в очередь скачиваний.
Игорь Шевченко (2003-07-29 10:36:00) [7]
Handle того окна, куда делается WM_PASTE, и какая разница, DLL это или не DLL