Bagikan melalui


Cara: Menghitung Subset Antrean Cetak

Situasi umum yang dihadapi oleh profesional teknologi informasi (TI) yang mengelola serangkaian printer di seluruh perusahaan adalah untuk menghasilkan daftar printer yang memiliki karakteristik tertentu. Fungsionalitas ini disediakan oleh metode GetPrintQueues objek PrintServer dan enumerasi EnumeratedPrintQueueTypes.

Contoh

Dalam contoh di bawah ini, kode dimulai dengan membuat array penanda yang menentukan karakteristik antrean cetak yang ingin kita daftarkan. Dalam contoh ini, kita mencari antrian cetak yang diinstal secara lokal di server cetak dan dibagikan. Enumerasi EnumeratedPrintQueueTypes memberikan banyak kemungkinan lain.

Kode kemudian membuat objek LocalPrintServer, kelas yang berasal dari PrintServer. Server cetak lokal adalah komputer tempat aplikasi dijalankan.

Langkah signifikan terakhir adalah meneruskan array ke metode GetPrintQueues.

Akhirnya, hasilnya disajikan kepada pengguna.

// Specify that the list will contain only the print queues that are installed as local and are shared
array<System::Printing::EnumeratedPrintQueueTypes>^ enumerationFlags = {EnumeratedPrintQueueTypes::Local,EnumeratedPrintQueueTypes::Shared};

LocalPrintServer^ printServer = gcnew LocalPrintServer();

//Use the enumerationFlags to filter out unwanted print queues
PrintQueueCollection^ printQueuesOnLocalServer = printServer->GetPrintQueues(enumerationFlags);

Console::WriteLine("These are your shared, local print queues:\n\n");

for each (PrintQueue^ printer in printQueuesOnLocalServer)
{
   Console::WriteLine("\tThe shared printer " + printer->Name + " is located at " + printer->Location + "\n");
}
Console::WriteLine("Press enter to continue.");
Console::ReadLine();
// Specify that the list will contain only the print queues that are installed as local and are shared
EnumeratedPrintQueueTypes[] enumerationFlags = {EnumeratedPrintQueueTypes.Local,
                                                EnumeratedPrintQueueTypes.Shared};

LocalPrintServer printServer = new LocalPrintServer();

//Use the enumerationFlags to filter out unwanted print queues
PrintQueueCollection printQueuesOnLocalServer = printServer.GetPrintQueues(enumerationFlags);

Console.WriteLine("These are your shared, local print queues:\n\n");

foreach (PrintQueue printer in printQueuesOnLocalServer)
{
    Console.WriteLine("\tThe shared printer " + printer.Name + " is located at " + printer.Location + "\n");
}
Console.WriteLine("Press enter to continue.");
Console.ReadLine();
' Specify that the list will contain only the print queues that are installed as local and are shared
Dim enumerationFlags() As EnumeratedPrintQueueTypes = {EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Shared}

Dim printServer As New LocalPrintServer()

'Use the enumerationFlags to filter out unwanted print queues
Dim printQueuesOnLocalServer As PrintQueueCollection = printServer.GetPrintQueues(enumerationFlags)

Console.WriteLine("These are your shared, local print queues:" & vbLf & vbLf)

For Each printer As PrintQueue In printQueuesOnLocalServer
    Console.WriteLine(vbTab & "The shared printer " & printer.Name & " is located at " & printer.Location & vbLf)
Next printer
Console.WriteLine("Press enter to continue.")
Console.ReadLine()

Anda dapat memperluas contoh ini dengan menggunakan loop foreach yang melalui setiap antrean cetak untuk melakukan penyaringan lebih lanjut. Misalnya, Anda dapat menyaring keluar printer yang tidak mendukung pencetakan dua sisi dengan meminta perulangan untuk memanggil metode GetPrintCapabilities dari setiap antrean cetak dan menguji nilai yang dikembalikan untuk keberadaan dupleks.

Lihat juga