Bagikan melalui


Fungsi SHInvokePrinterCommandW (shellapi.h)

Menjalankan perintah pada objek printer.

Catatan Fungsi ini tidak digunakan lagi pada Windows Vista. Disarankan agar, di tempatnya, Anda memanggil kata kerja pada printer melalui IContextMenu atau ShellExecute.
 

Sintaks

BOOL SHInvokePrinterCommandW(
  [in, optional] HWND    hwnd,
                 UINT    uAction,
  [in]           LPCWSTR lpBuf1,
  [in, optional] LPCWSTR lpBuf2,
                 BOOL    fModal
);

Parameter

[in, optional] hwnd

Jenis: HWND

Handel jendela induk dari jendela atau kotak dialog apa pun yang dibuat selama operasi.

uAction

Jenis: UINT

Jenis operasi printer yang akan dilakukan. Salah satu dari nilai berikut:

PRINTACTION_OPEN (0)

0x0. Buka printer yang ditentukan oleh lpBuf1. Parameter lpBuf2 diabaikan.

PRINTACTION_PROPERTIES (1)

0x1. Tampilkan halaman properti untuk pencetak yang ditentukan oleh lpBuf1. Parameter lpBuf2 dapat berupa NULL atau dapat memberi nama lembar properti tertentu untuk ditampilkan, baik berdasarkan nama atau angka. Jika WORD tinggi dari lpBuf2 bukan nol, diasumsikan bahwa parameter ini adalah penunjuk ke buffer yang berisi nama lembar yang akan dibuka. Jika tidak, lpBuf2 dipandang sebagai indeks berbasis nol dari lembar properti untuk dibuka.

PRINTACTION_NETINSTALL (2)

0x2. Pasang pencetak jaringan yang ditentukan oleh lpBuf1. Parameter lpBuf2 diabaikan.

0x3. Buat pintasan ke pencetak jaringan yang ditentukan oleh lpBuf1. Parameter lpBuf2 menentukan drive dan jalur folder untuk membuat pintasan. Pencetak jaringan harus sudah diinstal pada komputer lokal.

PRINTACTION_TESTPAGE (4)

0x4. Cetak halaman uji pada printer yang ditentukan oleh lpBuf1. Parameter lpBuf2 diabaikan.

PRINTACTION_OPENNETPRN (5)

0x5. Buka pencetak jaringan yang ditentukan oleh lpBuf1. Parameter lpBuf2 diabaikan.

PRINTACTION_DOCUMENTDEFAULTS (6)

0x6. Tampilkan properti dokumen default untuk printer yang ditentukan oleh lpBuf1. Parameter lpBuf2 diabaikan.

PRINTACTION_SERVERPROPERTIES (7)

0x7. Tampilkan properti untuk server printer yang ditentukan oleh lpBuf1. Parameter lpBuf2 diabaikan.

[in] lpBuf1

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null yang berisi informasi tambahan untuk perintah printer. Informasi yang terkandung dalam parameter ini tergantung pada nilai uAction.

[in, optional] lpBuf2

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null yang berisi informasi tambahan untuk perintah printer. Informasi yang terkandung dalam parameter ini tergantung pada nilai uAction.

fModal

Jenis: BOOL

TRUE untuk menentukan bahwa SHInvokePrinterCommand tidak boleh kembali sampai perintah selesai; FALSE jika fungsi harus kembali segera setelah perintah diinisialisasi.

Nilai kembali

Jenis: BOOL

Mengembalikan TRUE jika berhasil; jika tidak, FALSE.

Keterangan

Ketika nama printer ditentukan oleh lpBuf1, nama dapat berupa nama printer lokal atau server dan berbagi nama printer jaringan. Ketika menentukan nama printer jaringan, nama harus ditentukan dalam format ini:

"\\<server><shared printer name>"

Fungsi ini diimplementasikan di Shell versi 4.71 dan yang lebih baru. Untuk mempertahankan kompatibilitas mundur dengan versi Shell sebelumnya, fungsi ini tidak boleh digunakan secara eksplisit. Sebagai gantinya, fungsi LoadLibrary dan GetProcAddress harus digunakan untuk mendapatkan alamat fungsi.

Catatan

Header shellapi.h mendefinisikan SHInvokePrinterCommand sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shellapi.h
Pustaka Shell32.lib
DLL Shell32.dll (versi 4.71 atau yang lebih baru)