次の方法で共有


GetOpenFileNameA 関数 (commdlg.h)

[Windows Vista 以降、[開く] と [名前を付けて保存] 一般的なダイアログ ボックス 共通項目ダイアログに置き換えられます。 [共通ダイアログ ボックス ライブラリ] のダイアログ ボックスではなく、共通項目ダイアログ API を使用することをお勧めします。

開く ダイアログ ボックスを作成します。これにより、ユーザーは、開くファイルまたはファイルのセットの名前、ドライブ、ディレクトリ、および名前を指定できます。

構文

BOOL GetOpenFileNameA(
  [in, out] LPOPENFILENAMEA unnamedParam1
);

パラメーター

[in, out] unnamedParam1

型: LPOPENFILENAME

ダイアログ ボックスの初期化に使用する情報を含む OPENFILENAME 構造体へのポインター。 GetOpenFileName が返されると、この構造体にはユーザーのファイル選択に関する情報が含まれます。

戻り値

型: BOOL

ユーザーがファイル名を指定し、[OK] ボタンをクリックすると、戻り値は 0 以外になります。 OPENFILENAME 構造体の lpstrFile メンバーが指すバッファーには、ユーザーが指定した完全なパスとファイル名が含まれています。

ユーザーが [ を開く] ダイアログ ボックスをキャンセルまたは閉じるか、エラーが発生した場合、戻り値は 0 になります。 拡張エラー情報を取得するには、CommDlgExtendedError 関数を呼び出します。この関数は、次のいずれかの値を返すことができます。

備考

エクスプローラー スタイルの [ を開く] ダイアログ ボックスには、Windows エクスプローラーに似たユーザー インターフェイス機能が用意されています。 エクスプローラー スタイルの [ を開く] ダイアログ ボックスには、OFNHookProc フック プロシージャ 指定できます。 フック プロシージャを有効にするには、OPENFILENAME 構造体の Flags メンバーに OFN_EXPLORER フラグと OFN_ENABLEHOOK フラグを設定し、lpfnHook メンバーでフック プロシージャのアドレスを指定します。

Windows では引き続き、古いスタイルのユーザー インターフェイスと一貫性のあるユーザー インターフェイスを維持するアプリケーションの [ を開く] ダイアログ ボックスの古いスタイルの がサポートされます。 古いスタイルの [ を開く] ダイアログ ボックスを表示するには、OFNHookProcOldStyle フック プロシージャを有効にして、OFN_EXPLORER フラグが設定されていないことを確認します。

ユーザーがファイルではなくディレクトリを選択できるようにするダイアログ ボックスを表示するには、SHBrowseForFolder 関数を呼び出します。

複数のファイルを選択する場合、ファイル名の合計文字制限は関数のバージョンによって異なります。

  • ANSI: 32k の制限
  • Unicode: 制限なし

例については、「ファイルを開く 」を参照してください。

手記

commdlg.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetOpenFileName を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー commdlg.h (Windows.h を含む)
ライブラリ Comdlg32.lib
DLL Comdlg32.dll
API セットの ext-ms-win-shell-comdlg32-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

CommDlgExtendedError

共通ダイアログ ボックス ライブラリ

概念

GetSaveFileName を する

OFNHookProc の

OFNHookProcOldStyle の

OPENFILENAME

その他のリソース を する

リファレンス

SHBrowseForFolder の