Несколько экземпляров приложения
От: Anatoliy.Sviridenkov Россия  
Дата: 29.02.12 22:06
Оценка:
Здравствуйте.
Мне необходимо наладить связь между двумя приложениями. Решено использовать COM для межпроцессного взаимодействия. Одно приложение COM сервер, другое COM клиент. Использовал ATL, VS 2008. COM сервер на основе exe, свободная поточная модель, manual интерфейс с поддержкой oleautomation и connections point, интерфейсы простенькие, основную часть работы проделали визарды. Фабрику настроил по синглтон (DECLARE_CLASSFACTORY_SINGLETON). Все работает нормаль, но есть проблема. Если запустить несколько клиентов, то все они обращаются к одному экземпляру приложения, к одному серверу. Но этот СОМ сервер всегда запускаемый самой СОМ остнасткой. Мне же надо, чтобы подхватывалось приложение запущенное пользователем, и только если ничего не запущено, то новое.
Почему-то приложение запускаемое пользователем игнорируется.

Код WinMain, :

class СSettingsModule : public CAtlExeModuleT< CSettingsModule >
{
public :
    DECLARE_LIBID(LIBID_SettingsLib)
    DECLARE_REGISTRY_APPID_RESOURCEID(IDR_SETTINGS, "{D43FDEA6-2222-3843-FFFE-FFDDBBAAEE3E}")
};

extern "C" int WINAPI _tWinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, 
                                LPTSTR /*lpCmdLine*/, int nShowCmd)
{
    return _AtlModule.WinMain(nShowCmd);
}


Подскажите, куда копать?
atl singleton
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.