Из своей программы (C++ Builder 6) с помощью компонента TWordApplication создаю новый экземпляр MS Word: Код (Text): WordApplication1->ConnectKind = ckNewInstance; WordApplication1->Connect(); WordApplication1->set_Visible(1); Мне нужно, чтобы пользователь мог работать с созданным мною экземпляром Word – создавать новые документы, открывать уже существующие и т.д. НО если пользователь выберет Пуск-Программы-Microsoft Office Word или же дважды клацнет на каком-либо документе, то новый документ или же открываемый документ должны создаваться не в моем экземпляре Word, а в новом экземпляре. Т.е. я хочу, чтобы документы в созданном мной экземпляре могли создаваться либо программно, либо же через нажатие на кнопки или пункты меню в ЭТОМ экземпляре Word. Чтобы других способов появления документов в созданном мною Word'е не было. На сколько я понимаю, при запуске Word из Пуска или при клацаньи на документе Word идет проверка, запущен ли уже процесс WINWORD.EXE и если запущен, то новый процесс не создается, а документ открывается в запущенном процессе. Исходя из этого, я предполагаю, что если каким-либо образом переименовать созданный мною процесс, то он не будет распознаваться системой и для новых документов будет создан новый экземпляр Word. Надеюсь, конечно, что переименование не помешает нормальной работе моего Word. Как вы думаете, на сколько реально то, что я здесь написал и как можно переименовать процесс (сделать его неузнаваемым как WINWORD.EXE для системы)?
вполне возможно очень сомневаюсь скорее идет FindWindow с именем класса или мутекс, ваще много способов
Еще вероятнее - регистрируется как COM-сервер с помощью CoRegisterClassObject и с контекстом CLSCTX_LOCAL_SERVER. Впрочем, как сама подсиситема COM потом находит этот процесс, так сразу не скажу.. Может, по тем же мьютексам и окнам.