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 版 和更新版本中實作。 為了維持舊版殼層的回溯相容性,不應明確使用此函式。 相反地,LoadLibrary 和 GetProcAddress 函式應該用來取得函式位址。
注意
Shellapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SHInvokePrinterCommand 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shellapi.h |
連結庫 | Shell32.lib |
DLL | Shell32.dll (4.71 版或更新版本) |