GetModuleFileName関数を使用してモジュールのファイル名を取得する方法


GetModuleFileName関数は、指定されたモジュールのファイル名を取得するために使用されます。以下は、この関数を使用するための基本的な手順です。

  1. 必要なヘッダーファイルをインクルードします:

    #include <windows.h>
  2. GetModuleFileName関数を呼び出してファイル名を取得します:

    TCHAR szFileName[MAX_PATH];
    DWORD dwSize = GetModuleFileName(NULL, szFileName, MAX_PATH);

    上記のコードでは、NULLを指定することで現在の実行ファイルのファイル名を取得しています。取得したファイル名はszFileNameに格納され、dwSizeには取得した文字列の長さが格納されます。

  3. 取得したファイル名を表示または処理します:

    if (dwSize != 0) {
    // ファイル名が正常に取得された場合の処理
    _tprintf(_T("ファイル名: %s\n"), szFileName);
    } else {
    // エラーハンドリング
    DWORD dwError = GetLastError();
    // エラーコードに基づいた処理を行う
    // ...
    }

上記のコード例では、取得したファイル名を表示するだけですが、取得したファイル名を別の処理に使用することもできます。

また、GetModuleFileName関数はエラーが発生した場合に0を返すため、エラーハンドリングも重要です。上記のコードでは、GetLastError関数を使用してエラーコードを取得し、適切な処理を行う方法を示しています。

このように、GetModuleFileName関数を使用してモジュールのファイル名を取得することができます。これは、特定のモジュールに関連する情報を取得するために便利な方法です。実際のアプリケーションでは、取得したファイル名を利用してさまざまな処理を行うことができるでしょう。

以上が、GetModuleFileName関数の使用方法と基本的なエラーハンドリングの例です。