![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Bekass |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 21.12.2005 Репутация: нет Всего: нет |
Как узнать из какой программы в буфер обмена (Clipboard) поставлен объект ?
Т.е. необходимо просматривать Clipboard и показывать из какого он приложения ... |
|||
|
||||
| Pilligrim |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 9.6.2006 Репутация: 1 Всего: 1 |
Попробуй через hook'и(поюзай справку по API)
|
|||
|
||||
| Droll |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 10.11.2004 Репутация: нет Всего: 3 |
Как вариант:
1. Регистриуем приложение как "просмотрщик буффера" с помощью функции SetClipboardViewer 2. Делаем обработчик сообщения WM_DRAWCLIPBOARD - здесь, с помощью функции GetForegroundWindow смотрим какое окно активно 3. Не забудьте сделать обработчик WM_ChangeCBChain - это нужно, чтобы другие приложения "просмотрщики буффера" могли нормально работать 4. При завершении приложения, вызываем функцию ChangeClipboardChain, в котором указываем собственный Хэндл и Хэндл следующего "просмотрщика". Подробнее об этих функциях читайте в MSDN. |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
достаточно узнать к какому процессу принадлежит дескриптор текущего буфера. Эти дескрипторы выделяются GlobalAlloc, поэтому задача становится проще
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |