Проблема: мне нужно получить выделенный текст из окна в приложении Windows (не моей программе).Я делаю свою работу в Delphi XE, и программное обеспечение, к которому я пытаюсь получить доступ, является клугем, созданным за последние 15 лет на C, C ++, VB, и кто знает, что еще.У меня нет исходного кода.Поле редактирования (памятка RTF), который я пытаюсь прочитать, относится к классу «Ter32Class».Когда я использую wm_copy
, в буфер обмена ничего не попадает.когда я использую wm_gettext
, ничего.Когда я использую команды wm_keydown
(для имитации Ctrl - Ins или Ctrl - C ) ничего не происходит,Обратите внимание, что я могу заставить все эти альтернативы работать в WordPad, Notepad и FireFox, но не в этом приложении (или, кстати, в OpenOffice, но это не проблема).Единственный способ, которым я смог программно получить текст из этого поля, - использовать autohotkey с простой командой "send ^c
".Хотя это работает, это не элегантно.ПОМОЩЬ?!?
Дополнительная информация: Иерархия окон: Ter32Class является дочерним элементом OI_Mdi, который является дочерним элементом MDIClient, который является дочерним элементом OI_Window.Я углубляюсь, чтобы получить соответствующий дескриптор, так как он будет отвечать на команду вставки.
Я использую Delphi XE, но мне бы понравилось любое решение на C ++ или VB, если у гуру Delphi XE нет ответа.