Alterar a Impressora Padrão do Windows via Programação em C#

Impressora Padrão do Windows Às vezes precisamos alterar a impressora padrão configurada no Windows a partir de uma aplicação desenvolvida em .NET, como foi o caso deste programador num dos fóruns do MSDN Brasil.

Uma vez que o .NET não oferece nenhuma classe que permita fazer esta alteração, temos de utilizar a função SetDefaultPrinter exposta pelo driver Winspool via P/Invoke. Esta função recebe um único parâmetro do tipo string que corresponde ao nome da impressora que desejamos tornar padrão.

O nome da impressora é o mesmo nome que está visível no Windows, quando acedemos às impressoras no Painel de Controlo: Impressoras do Windows (Antes)

using System.Runtime.InteropServices;

namespace ConsoleApp_MudarImpressoraPadrao
{
    class Program
    {
        [DllImport("Winspool.drv")]
        private static extern bool SetDefaultPrinter(string printerName);

        static void Main(string[] args)
        {
            // Altera a impressora padrão para XPS Document Writer
            SetDefaultPrinter("Microsoft XPS Document Writer");
        }
    }
}

Resultado: Impressoras do Windows (Depois)

Esta entrada foi publicada em .NET com as tags , , , , , , . ligação permanente.

Uma Resposta a Alterar a Impressora Padrão do Windows via Programação em C#

  1. Raul Kalandula diz:

    private sub form_load()

    Dim Impressoras As Printer

    cboImpressora.Clear

    For i = 0 To Printers.Count – 1
    cboImpressora.AddItem Printers(i).DeviceName
    Next i

    If cboImpressora.ListCount > 0 Then cboImpressora.ListIndex = 0

    end sub

    private sub cmdImprimir()

    For Each Impressoras In Printers
    Set Printer = Impressoras
    If Impressoras.DeviceName = cboImpressora.Text Then Exit For
    Next

    Printer.Print “Teste!”
    Printer.EndDoc

    end sub

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Pode usar estas etiquetas HTML e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>