Как перехватить обращение одной программы к другой?

Inkognito 25.05.2004 - 12:40 | Есть две программы. Одна программа выполняет некоторые действия в зависимости от того, что ей скажет другая. Конкретней... Программа-исполнитель при инсталяции регистрируется в ситстеме. Скажем, её исполняемый файл proga.exe. Теперь, например, я хочу написать на VB программу, которая управляет этой прогой-исполнителем. Для этого я пишу: Set Obj = CreateObject("Proga.Document") Obj.ExecCommand ("load " & "d:\temp\stroka.txt") и т.д. Это из документированных функций. Но есть и недокументированные :) Например, Obj.ExecCommand ("delete " & "d:\temp\stroka.txt") так вот, команда delete точно там есть, она исполняется, но недокунтирована. И этих недокументированых команд много :) Дело в том, что к этой программе-исполнителю идёт в комплекте программа-управленец. Так вот, если использовать именно эту программу-управленец, то там есть эта команда на удаление и много других. А вот для управления командой-исполнителем через API разработчики предоставили НЕ ВСЕ команды. Может быть можно как-нибудь написать программу-шпион, которая мониторила бы эти передачи команд от одной проги к другой средствами API?
Sabrian 1 - 26.05.2004 - 14:42 | Наверняка это COM, и перехватить вызовы нельзя. (Есть один способ но он не для нормальных людей - виртуальная машина)
Chaos 2 - 26.05.2004 - 16:30 | Если Dispatch-интерфейс, то написать прокси, которая регистрируется под именем программы-исполнителя, логирует вызовы и передает вызов дальше исполнителю

>>