私はDLLはそれがDであるC++で同じDLLの中でdllの場所パスを取得する方法はありますか?
MYDLL.DLLそれを求めていると仮定:私がしたい
[それはDirectShowのDLLです] \ MyWorks \ MYDLL.DLL MyDllコードの内部からその場所のパスを取得します。 FileSystemの
string path = ""; boost::filesystem::path full_path(boost::filesystem::current_path()); path = full_path.string();
しかし、これは私にCでその実行パス、与える:です\ WINDOWS \ system32をはなく、その場所のパスを
私はこのためにブーストを使用しましたd:\ MyWorks \ MyDll.dll。
同じDLL内でDLLの場所を取得するにはどうすればよいですか?
更新:
TCHAR path[2048];
GetModuleFileName(NULL, path, 2048);
ostringstream file;
file << path ;
string const pathString =file.str();
cout << "Path: " << pathString << endl;
は私にちょうど進に似た文字列を与えます:取得モジュールによって0049EA95 ....で
GetModuleFileNameを参照してください。http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197%28v=vs.85%29aspx – Lucian
私はGetModuleFileNameを奇妙なテキストを取得しようとします...文字列におそらく@Lucianを割り当てることができません – Novalis