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 fungsi SHInvokePrinterCommand . Fungsi ini memungkinkan Anda untuk:

  • Instal printer.
  • Buka printer.
  • Mendapatkan properti printer.
  • Membuat tautan printer.
  • Cetak halaman uji.

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 kata kerja terbuka , dengan penambahan bendera untuk memberi tahu aplikasi untuk mencetak file. 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;
}