Angenommen, ich habe eine DLL mit dem Namen MyDll.dll
-
Es ist in der d: \MyWorks\MyDll.dll (es handelt sich um directshow dll)
-
Ich möchte den Pfad des Speicherorts innerhalb des MyDll-Codes abrufen.
Ich habe dafür Boost verwendet: FileSystem
string path = "";
boost::filesystem::path full_path( boost::filesystem::current_path() );
path = full_path.string();
Aber das gibt mir den Ausführungspfad, der lautet C:\Windows\system32 und nicht sein Standortpfad, der lautet d: \MyWorks\MyDll.dll .
Wie kann ich den Speicherort einer DLL innerhalb der gleichen DLL ermitteln?
Update: Durch Get Module:
TCHAR path[2048];
GetModuleFileName( NULL, path, 2048 );
ostringstream file;
file << path ;
string const pathString =file.str();
cout << "Path: " << pathString << endl;
Liefert mir nur eine hexadezimale Zeichenfolge: 0049EA95....