SHInvokePrinterCommandA 函式 (shellapi.h)
在印表機物件上執行命令。
語法
BOOL SHInvokePrinterCommandA(
[in, optional] HWND hwnd,
UINT uAction,
[in] LPCSTR lpBuf1,
[in, optional] LPCSTR lpBuf2,
BOOL fModal
);
參數
[in, optional] hwnd
類型: HWND
作業期間所建立之任何視窗或對話框的父視窗句柄。
uAction
類型: UINT
要執行的印表機作業類型。 下列其中一個值:
PRINTACTION_OPEN (0)
0x0。 開啟 lpBuf1 所指定的印表機。 忽略 lpBuf2 參數。
PRINTACTION_PROPERTIES (1)
0x1。 顯示 lpBuf1 所指定印表機的屬性頁。 lpBuf2 參數可以是 NULL,也可以依名稱或數位來命名要顯示的特定屬性表。 如果 lpBuf2 的高 WORD 為非零,則假設此參數是緩衝區的指標,其中包含要開啟之工作表的名稱。 否則, lpBuf2 會視為要開啟之屬性表的以零起始的索引。
PRINTACTION_NETINSTALL (2)
0x2。 安裝 lpBuf1 指定的網路印表機。 忽略 lpBuf2 參數。
PRINTACTION_NETINSTALLLINK (3)
0x3。 建立 lpBuf1 所指定網路印表機的快捷方式。 lpBuf2 參數會指定要在其中建立快捷方式之資料夾的磁碟驅動器和路徑。 網路印表機必須已安裝在本機電腦上。
PRINTACTION_TESTPAGE (4)
0x4。 在 lpBuf1 所指定的印表機上列印測試頁面。 忽略 lpBuf2 參數。
PRINTACTION_OPENNETPRN (5)
0x5。 開啟 lpBuf1 指定的網路印表機。 忽略 lpBuf2 參數。
PRINTACTION_DOCUMENTDEFAULTS (6)
0x6。 顯示 lpBuf1 所指定印表機的預設檔案屬性。 忽略 lpBuf2 參數。
PRINTACTION_SERVERPROPERTIES (7)
0x7。 顯示 lpBuf1 所指定的印表機伺服器屬性。 忽略 lpBuf2 參數。
[in] lpBuf1
類型: LPCTSTR
Null 終止字串的指標,其中包含印表機命令的其他資訊。 此參數中包含的信息取決於 uAction 的值。
[in, optional] lpBuf2
類型: LPCTSTR
Null 終止字串的指標,其中包含印表機命令的其他資訊。 此參數中包含的信息取決於 uAction 的值。
fModal
類型: BOOL
TRUE 表示 SHInvokePrinterCommand 在命令完成之前不應該傳回; 如果 函式應該在命令初始化時立即傳回,則為 FALSE。
傳回值
類型: BOOL
如果成功,則傳回 TRUE ;否則為 FALSE。
備註
當印表機名稱由 lpBuf1 指定時,名稱可以是本機印表機的名稱或伺服器和網路列印機的共享名稱。 指定網路印表機名稱時,必須以下欄格式指定名稱:
"\\<server><shared printer name>"
此函式會在 Shell 4.71 版和更新版本中實作。 為了維持與舊版Shell的回溯相容性,不應該明確使用此函式。 相反地, LoadLibrary 和 GetProcAddress 函式應該用來取得函式位址。
注意
shellapi.h 標頭會將 SHInvokePrinterCommand 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版、Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shellapi.h |
程式庫 | Shell32.lib |
Dll | Shell32.dll (4.71 版或更新版本) |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應