GetSaveFileNameA 関数 (commdlg.h)

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

ユーザーが 保存 するファイルのドライブ、ディレクトリ、名前を指定できる [保存] ダイアログ ボックスを作成します。

構文

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

パラメーター

[in, out] unnamedParam1

種類: LPOPENFILENAME

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

戻り値

種類: BOOL

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

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

注釈

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

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

例については、「 拡張メタファイルの作成」を参照してください。

注意

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

要件

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

こちらもご覧ください

CommDlgExtendedError

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

概念

GetOpenFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

参照