Это долгий путь, но если кто-то сможет это понять, вы, ребята, сможете ...
Есть ли в Windows XP какие-либо метаданные, которые идут с действием вырезания и вставки, из которых я могу определить приложение, предоставившее содержимое буфера обмена?
Дополнительный вопрос ... если есть такая информация, могу ли я получить к ней доступ через приложение Java?




Это зависит от формата буфера обмена. Если это обычный текст, то нет. Если вы не хотите устанавливать глобальные хуки в буфер обмена.
Чего нельзя сделать на Java.
Функция API GetClipboardOwner возвращает владельца буфера обмена. (http://msdn.microsoft.com/en-us/library/ms649041(VS.85).aspx), извините, не могу пометить как ссылку, потому что "()" в URL-
Не знаю Java, я полагаю, вы можете вызывать собственные функции API из виртуальной машины Java.
«Быстрый и грязный» подход может заключаться в использовании сценария AutoHotKey для перехвата горячих клавиш CTRL + C / CTRL + INS, получения идентификатора активного процесса (в файле или любом месте, доступном для приложения Java) и продолжении. с копией из буфера обмена. Часть AutoHotKey не должна быть сложной, не знаю о части Java.