2 Stimmen

Wie kann ich dll Speicherort Pfad innerhalb der gleichen dll in C++ erhalten?

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....

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X