Здравствуйте, ichensky, Вы писали:
I>Здравствуйте. I>Как защитить буфер обмена данных от посторонних программ? I>В определенный момент хочу расшарить буфер только на несколько процессов.
1. Clipboard НЕ для коммуникации между процессами. Точка. dot.
2. Что значит "защитить буфер обмена данных"?
Здравствуйте, vvlad.net, Вы писали:
VN>1. Clipboard НЕ для коммуникации между процессами. Точка. dot. VN>2. Что значит "защитить буфер обмена данных"?
Так-то оно так, есть thrid paty программа, к коду которой нет доступа и модифицировать которую нельзя.
Есть мой код, пользователь копирует с него данные в буфер и вставляет в thrid paty приложение.
Может быть есть способ как-то запретить на время вызов winapi функций которые возвращают данные буфера, для всех приложений кроме обозначенных?
Підтримати Україну у боротьбі з країною-терористом.
Здравствуйте, ichensky, Вы писали:
I>Здравствуйте, vvlad.net, Вы писали:
VN>>1. Clipboard НЕ для коммуникации между процессами. Точка. dot. VN>>2. Что значит "защитить буфер обмена данных"?
I>Так-то оно так, есть thrid paty программа, к коду которой нет доступа и модифицировать которую нельзя. I>Есть мой код, пользователь копирует с него данные в буфер и вставляет в thrid paty приложение. I>Может быть есть способ как-то запретить на время вызов winapi функций которые возвращают данные буфера, для всех приложений кроме обозначенных?
Нет. Даже если Вы это сделаете получите уйму геммора.
Только вот зачем такие заморочки? Пусть Ваша программа вставляет данные сразу в нужный контрол свои данные. Зачем для этого использовать буфер обмена? Нужно только проверять, что приложение запущено, открыто место в нем с контролом. И вставляйте свои данные.
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.
Здравствуйте, ichensky, Вы писали:
I>Здравствуйте, vvlad.net, Вы писали:
VN>>1. Clipboard НЕ для коммуникации между процессами. Точка. dot. VN>>2. Что значит "защитить буфер обмена данных"?
I>Так-то оно так, есть thrid paty программа, к коду которой нет доступа и модифицировать которую нельзя. I>Есть мой код, пользователь копирует с него данные в буфер и вставляет в thrid paty приложение. I>Может быть есть способ как-то запретить на время вызов winapi функций которые возвращают данные буфера, для всех приложений кроме обозначенных?
Можно попытаться с применением delayed clipboard rendering.
Вызываете SetClipboardData() с hMem=0.
Когда получите WM_RENDERFORMAT, проверьте Foregraund процесс.