GetSaveFileNameA 函式 (commdlg.h)

[從 Windows Vista 開始,通用項目對話框已取代 [開啟 ] 和 [另存 ] 通用對話方塊。 建議您使用通用項目對話框 API,而不是來自通用對話框連結庫的這些對話方塊。

建立 [ 儲存 ] 對話框,讓使用者指定要儲存的磁碟驅動器、目錄和檔名。

語法

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

參數

[in, out] unnamedParam1

類型: LPOPENFILENAME

OPENFILENAME 結構的指標,其中包含用來初始化對話框的資訊。 當 GetSaveFileName 傳回時,這個結構會包含使用者檔案選取的相關信息。

傳回值

類型: BOOL

如果使用者指定檔名,然後按下 [ 確定 ] 按鈕,且函式成功,則傳回值為非零。 OPENFILENAME 結構的 lpstrFile 成員所指向的緩衝區包含使用者所指定的完整路徑和檔名。

如果使用者取消或關閉 [ 儲存 ] 對話框,或檔名緩衝區太小的錯誤發生,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 CommDlgExtendedError 函式,以傳回下列其中一個值:

備註

[檔案總管] 樣式的 [ 儲存 ] 對話框,提供類似 Windows 檔案總管的使用者介面功能。 您可以為 Explorer 樣式的 [儲存] 對話方塊提供 OFNHookProc 攔截程式。 若要啟用攔截程式,請在OPENFILENAME結構的 Flags 成員中設定OFN_EXPLOREROFN_ENABLEHOOK旗標,並在 lpfnHook 成員中指定攔截程式的位址。

Windows 會繼續針對想要維護與舊樣式使用者介面一致之使用者介面的應用程式,支援舊樣式的 [ 儲存 ] 對話方塊。 若要顯示舊樣式的 [ 儲存 ] 對話框,請啟用 OFNHookProcOldStyle 勾點程式,並確定未設定 OFN_EXPLORER 旗標。

範例

如需範例,請參閱 建立增強型元檔

注意

commdlg.h 標頭會將 GetSaveFileName 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 commdlg.h (包含 Windows.h)
程式庫 Comdlg32.lib
Dll Comdlg32.dll
API 集合 ext-ms-win-shell-comdlg32-l1-1-1 (於 Windows 10 10.0.14393 版)

另請參閱

CommDlgExtendedError

通用對話框連結庫

概念

GetOpenFileName

OFNHookProc

OFNHookProcOldStyle

OPENFILENAME

參考