|
C# путь к dll
| ☑ |
0
oleg_km
04.07.13
✎
17:21
|
Что-то с наскока не удается найти имя с путем dll из самой dll. Dll -это COM написанный на C#. Нужен аналог GetModuleFileName
|
|
1
H A D G E H O G s
04.07.13
✎
17:27
|
Что не получается?
|
|
2
H A D G E H O G s
04.07.13
✎
17:28
|
Вызывай GetModuleFileName(), что мешает?
|
|
3
oleg_km
04.07.13
✎
17:31
|
(2) Хочу аналог на .NET, не хочу делать DllImport
|
|
4
H A D G E H O G s
04.07.13
✎
17:33
|
(3) Я тебя не понял, но я подозреваю, что причина в отсутствии у тебя
HInstance
Переходите на Дельфи, там это вшитая глобальная переменная.
|
|
5
H A D G E H O G s
04.07.13
✎
17:35
|
Ну или CreateToolhelp32Snapshot(), а там уж через
Module32First()
Module32Next()
ищи свою родимую.
|
|
6
H A D G E H O G s
04.07.13
✎
17:37
|
(3) А че бы не сделать, это же тупо подписчик на загрузку либы, в него входящим идет дескриптор на нее.
p.s.
Неужеле в C# HInstance нет автоматом?
|
|
7
Serginio1
04.07.13
✎
17:46
|
string fullFileName = typeof(ИзвестныйТип).Assembly.GetFiles()[0].Name;
typeof (ИзвестныйТип).Assembly.Location
ТекущаяДиректория = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName).ToString();
|
|
8
Serginio1
04.07.13
✎
17:50
|
public class ClassFromClassLibrary
{
...
public string GetPathToThisDll()
{
// не нравится мне эта строка:
string fullFileName = typeof(ClassFromClassLibrary).Assembly.GetFiles()[0].Name;
или
fullFileName =typeof (ClassFromClassLibrary).Assembly.Location
// а это уже банально
retrun Path.GetDirectoryName(fullFileName);
}
...
}
|
|