共用方式為


SHInvokePrinterCommandA 函式 (shellapi.h)

在印表機物件上執行命令。

注意 此函式已從 Windows Vista 起已被取代。 建議您在印表機上透過 IContextMenuShellExecute叫用動詞。
 

語法

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 參數。

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 版 和更新版本中實作。 為了維持舊版殼層的回溯相容性,不應明確使用此函式。 相反地,LoadLibraryGetProcAddress 函式應該用來取得函式位址。

注意

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

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shellapi.h
連結庫 Shell32.lib
DLL Shell32.dll (4.71 版或更新版本)