Это будет сложно, если это вообще возможно.
Я видел подходы, которые будут работать для текстовых приложений - они обычно фиксируют стандартный вывод процесса, как это происходит, и помещают его в текстовый элемент управления.
Но вы говорите о полноценном графическом приложении (Блокнот, несмотря на работу с текстом, отображением пикселей, а не кодов символов).
Итак, если Блокнот не предоставляет интерфейс, где вы можете:
- запрос произвольных символов в буфере; и
- отправлять произвольные нажатия клавиш в программу,
Я бы сказал, что тебе не повезло.
Это определенно клудж, но одним из вариантов является постоянный мониторинг окон Блокнота и обеспечение его постоянного наложения на область клиента форм. Это довольно ужасно, поскольку вам нужно остановить его перемещение, изменение размера, сворачивание и т. Д., и поддерживают свой z-порядок чуть выше ваших приложений. Я бы не пожелал этих требований для моего злейшего врага.
Задумывались ли вы об использовании элемента управления редактора, созданного специально для Delphi (или редактора ActiveX, который вы могли бы встроить)? Это может быть лучшим подходом.