Контекст: пользователи подключаются к серверу RDP и должны копировать / вставлять файлы с сервера на локальный компьютер, но не в обратном направлении.
Microsoft не предлагает такой гранулярный контроль политики дляБуфер обмена RDP, он либо включен, либо выключен полностью.Поэтому идея состоит в том, чтобы написать некоторый код на стороне сервера, чтобы заблокировать вставку данных в буфер обмена сервера с помощью процесса rdpclip.exe.
До сих пор я написал программу на C #, которая прослушивает сообщения буфера обмена WM_DRAWCLIPBOARD,получает процесс владельца и при необходимости стирает буфер обмена.
Проблема в том, что при этом также стирается буфер обмена локального компьютера, поскольку rdpclip.exe постоянно синхронизирует буфер обмена сервера и локального компьютера.Таким образом, локальный буфер обмена становится непригодным для использования.
Можно ли очистить или обновить буфер обмена, не отправляя WM_DRAWCLIPBOARD одному / всем процессам, которые ожидают обновления?