6 Stimmen

Wie kann ich einen Drucker mit .NET installieren?

Ich habe eine INF-Datei für einen virtuellen Drucker, die ich aus einer NET-Anwendung installieren muss. Ich habe dies bereits mit Batch-Skripten gemacht, aber ich suche nach einem Codeschnipsel, um dies im .NET Framework zu tun.

Es gibt nichts Besonderes an der Drucker-.INF, so dass jeder Code, der einen Drucker aus einer INF in C# oder VB.NET installiert, funktioniert.

9voto

Kevin Pullin Punkte 12732

Ich glaube, dies ist möglich über Interop zu nativen Win32-APIs, aber ich habe seine viel, viel einfacher nur zu verwenden, ein System.Diagnostics.Process() in printui.dll über aufrufen gefunden:

rundll32.exe printui.dll,PrintUIEntry /?

Vielleicht verwenden Sie das bereits in dem erwähnten Batch-Skript, aber falls nicht, sind die Parameter hier dokumentiert: PrintUI.DLL Benutzerhandbuch und Referenz

Testen Sie es einfach auf allen Betriebssystemen, die Sie unterstützen müssen. Einige Optionen gibt es entweder nicht in allen Windows-Versionen oder sie wurden umbenannt (obwohl ich denke, dass es sich dabei um die esoterischeren Optionen handelt - die Installation einer .INF-Datei wird wahrscheinlich überall funktionieren).

3 Stimmen

Link ist defekt =(

5voto

crawdog Punkte 51

Sie werden sich die verfügbaren WMI-Objekte ansehen wollen. Diese ermöglichen Ihnen eine genauere Kontrolle über die lokalen Maschineneinstellungen. Werfen Sie einen Blick auf die WMI-Code-Ersteller von Microsoft. Ich glaube, dass damit ein Beispielcode erzeugt wird, den Sie zur Lösung Ihres Problems verwenden können.

2voto

Bishoy Punkte 3712

Verwalten von Druckereinstellungen in C# für flexibles Drucken

siehe diesen Artikel, es verwendet eine MS Platform SDK DLL namens PRNADMIN, um Drucker, Druckertreiber, Drucker-Ports, ...etc. zu verwalten.

Ich persönlich benutze es in einem kommerziellen Projekt, um einen Druckertreiber zu installieren und den Druckerport auf den lokalen Port zu ändern, um Postscript abzufangen. und es funktioniert wie ein Zauberspruch.

Alternativ können Sie auch einige vorinstallierte vbscripts verwenden, die mit Windows in C:\Windows\system32\Printing_Admin_Scripts und hier ist ein Artikel für sie:

http://technet.microsoft.com/en-us/library/cc771846.aspx

1voto

bsneeze Punkte 4119

Dies ist no die ideale Lösung, aber wenn sonst niemand antwortet, können Sie eine temporäre Batch-Datei erstellen und diese über C#/VB.NET aufrufen.

Wahrscheinlich kennt jemand anderes einen natürlicheren Weg, dies zu tun.

0voto

Foredecker Punkte 7337

Sie müssen die Einrichtungs-APIs mit PINVOKE oder einem nativen COM-Objekt verpacken.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X