5


まず、 GetModuleFileNameまたはargv[0]が生成するフルパスを意味するのではありません。最後のバックスラッシュの前にすべてを却下するよりも賢い解決策はありますか?

4

3 に答える 3

17

まず、モジュール ハンドルとしてGetModuleFileNamepassingを呼び出して、実行可能ファイルへのフル パスを取得します。次に、ファイル名コンポーネントを引き出すためにNULL呼び出します。PathFindFileName

実際、 と の間には違いがGetModuleFileNameありargv[0]ます。後者は、プロセスを開始するために使用される名前です。フル パスが欠落している可能性がありますが、ここでさらに重要なのは、.exe拡張子が欠落している可能性があることです。実際のファイル名を知りたい場合は、GetModuleFileName.

于 2012-05-13T14:46:22.663 に答える
0

.NET を使用している場合は、ここに回答があります。しかし、内部的には を呼び出している可能性がありますGetModuleFileName

于 2012-05-13T14:39:10.203 に答える