Вопрос собственно вот в чем. Моя программа загружает COM-объекты и выводит на экран полные пути их расположения.
Assembly.Location возвращает путь, если COM на C#(managed). а вот как найти путь к dll если она скажем написана на С++ (unmanaged)???
Здравствуйте, Аноним, Вы писали:
А>Вопрос собственно вот в чем. Моя программа загружает COM-объекты и выводит на экран полные пути их расположения.
А>Assembly.Location возвращает путь, если COM на C#(managed). а вот как найти путь к dll если она скажем написана на С++ (unmanaged)???
Прочитать из Registry. Обычно из HKCR/CLSID/{coclass guid}/InprocServer32, но бывают и другие варианты регистрации.
Полный (вроде) список тут:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms691424%28v=vs.85%29.aspx
Это всё, конечно, только для локальных COM серверов.
Здравствуйте, Аноним, Вы писали:
А>Вопрос собственно вот в чем. Моя программа загружает COM-объекты и выводит на экран полные пути их расположения.
А>Assembly.Location возвращает путь, если COM на C#(managed). а вот как найти путь к dll если она скажем написана на С++ (unmanaged)???
Все вроде просто, GetModuleFileName:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx
Здравствуйте, enigmas, Вы писали:
E>Все вроде просто, GetModuleFileName:
E>http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx
Возвращает пустую строку