Добрый день.
Задача возникла простая вроде (по постановке), но в реализации все оказалось сложней...
Итак, нужно из приложения Clarion управлять элементами окна другой запущенной программы.
То есть обратиться к какому-то control-у в окне другой программы и послать туда событие - POST(Event:Accepted).
Попутные вопросы:
1. Как получить список всех открытых в данный момент на компьютере (задачу не усложняем - только активный десктоп текущего пользователя) окон (интересуют параметры: имя окна, его идентификатор или что-то, что позволит потом обращаться к этому окну)?
2. Как послать событие в выбранное открытое окно?
3. Как, черт побери, ее нажать - эту кнопку из другого окна????
Сам нахожусь в процессе поиска решения.. Буду рад, если кто-то поможет мыслями и опытом.
Всем заранее спасибо!
03.04.2011
Дело немного продвинулось. Для тех, кому интересно, прилагаю исходники (я, во всяком случае, попытался их приложить - если не видно и интересно посмотреть: напишите). Теперь я умею получать список окон (их хэндлов hwnd и имен), открытых в данный момент. Программа по завершению создает текстовый файл 'Output.q' со списком всех открытых на момент выполнения окон.
В продолжение темы: следующие "мега"

1. Научиться считывать из выбранного окна (по заданному хэндлу hwnd) список имеющихся в окне элементов (номер и тип - допустим поле для ввода видимо с подобным же аналогом хэндла, кнопка - хэндл, лист - хэндл ).
2. Вообще говоря, опциональный пункт для моей личной задачи: - научиться записывать значения в поля для ввода.
3. Научиться посылать события выбранному элементу (по хэндл поля в текущем окне) - в идеале - код нажатой клавиши (что будет соответствовать нек-м event-ам clarion - accepted, selected...).
Допускаю, что формулировки к поставленным сегодня задачам не корректны, но это дело времени и некоторых усилий, которые, я надеюсь, принесут успех в решении моей задачи.
Кстати, как мне видится, после разрешения вопросов, озвученных сегодня, становится возможным из приложения Clarion генерить сообщения в говорилки (ICQ, mail.ru агент и т.д.) и отсылать их в автомате. Ну.. , скажем вы вышли по делам, не хотите никого обидеть, и отвечаете всем (при изменении поля в соответствующем окне) написавшим фразой: к сожалению, меня нет на месте, скоро появлюсь и обязательно отвечу. Это был бы некий автоответчик. Согласен, подобного софта и так полно, но этот - написан Вами и на Clarion

Продолжаю ожидать помощи от тех, кто уже решил посталенные вопросы и готов поделиться их решением.