Bagikan melalui


Mengelola Printer

Shell API menyediakan fungsi yang dapat Anda gunakan untuk mengelola printer berjaringan. Jika file memiliki kata kerja cetak yang terkait dengannya, Anda dapat menggunakan perintah ShellExecuteEx untuk mencetaknya.

Manajemen Printer

Anda dapat mengelola printer pada sistem dengan fungsiSHInvokePrinterCommand. Fungsi ini memungkinkan Anda untuk:

  • Pasang pencetak.
  • Buka pencetak.
  • Dapatkan properti printer.
  • Buat tautan printer.
  • Cetak halaman pengujian.

Mencetak File dengan ShellExecuteEx

Jika jenis file memiliki perintah cetak yang terkait dengannya, Anda dapat mencetak file dengan memanggil ShellExecuteEx dengan cetak sebagai kata kerja. Perintah ini sering sama dengan yang digunakan untuk perintah open, dengan penambahan indikator untuk perintah mencetak file pada aplikasi. Misalnya, file .txt dapat dicetak oleh Microsoft WordPad. Kata kerja terbuka untuk file .txt dengan demikian akan sesuai dengan sesuatu seperti perintah berikut:

"C:\Program Files\Windows NT\Accessories\Wordpad.exe" /p "%1"

Saat Anda menggunakan ShellExecuteEx untuk mencetak file .txt, WordPad membuka file, mencetaknya, lalu menutup, mengembalikan kontrol ke aplikasi. Fungsi sampel berikut mengambil jalur yang sepenuhnya memenuhi syarat, dan menggunakan ShellExecuteEx untuk mencetaknya, menggunakan perintah cetak yang terkait dengan ekstensi nama filenya.

#include <shlobj.h>

HINSTANCE PrintFile(LPCTSTR pszFileName)
{
    SHELLEXECUTEINFO ShExecInfo;
    HINSTANCE hInst;

    // Fill the SHELLEXECUTEINFO array.

    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    ShExecInfo.fMask = NULL;
    ShExecInfo.hwnd = NULL;
    ShExecInfo.lpVerb = "print";
    ShExecInfo.lpFile = pszFileName;  // a fully qualified path
    ShExecInfo.lpParameters = NULL;
    ShExecInfo.lpDirectory = NULL;    
    ShExecInfo.nShow = SW_MAXIMIZE;
    ShExecInfo.hInstApp = NULL;

    hInst = ShellExecuteEx(&ShExecInfo);
    
    return hInst;
}