1

Windows のデフォルト プリンタを 1 つの「ジョブ」だけに変更する可能性はありますか? Windows XP / Vista / 7 で管理者権限がなくても動作しますか?

私がしたいこと:

  • デフォルトのプリンターは Canon ABC です
  • Epson XYZ 経由で印刷したい
  • 印刷後、デフォルトのプリンターである Canon ABC を再び使用したいと考えています。

管理者権限がなくても、「メッセージボックス」や UI ダイアログがなくても機能するのが最善です。

VBA または (しぶしぶ) C# / .NET で使用する必要があります

4

3 に答える 3

2

C# では、コンピューターにインストールされている任意のプリンターに印刷できます。デフォルトのプリンターを変更する必要はありません。VBA で同じかどうかは正確にはわかりませんが、C# では機能します。

編集

あなたのコメントのために、私はあなたを道に導くことを望んで、小さなサンプルを追加しました:

public void DoPrint()
{
    var printDialog = new PrintDialog();
    if (printDialog.ShowDialog() == DialogResult.OK)
    {
        var printDocument = new PrintDocument
            {
                DefaultPageSettings = { PrinterSettings = printDialog.PrinterSettings }
            };
        printDocument.PrintPage += OnPrintPage;
    }
}

private void OnPrintPage(object sender, PrintPageEventArgs e)
{
    e.Graphics.DrawString("Hello");
}

これにより、ダイアログで選択したプリンターに「Hello」が印刷されます。

于 2011-12-19T15:55:53.187 に答える