Ich weiß, wie man ein Bild mit PrintDocument druckt. Allerdings möchte ich mein Bild mit der Standard-Windows-Druckfunktion drucken. Wenn Sie zum Beispiel mit der rechten Maustaste auf ein Bild klicken und auf "Drucken" klicken, wird ein Dialogfeld angezeigt, in dem Sie die Größe festlegen und den Drucker usw. auswählen können. Weiß jemand, wie dies in C # erreicht wird? Muss ich WINAPI verwenden?
Prost
Bearbeiten:
Ich spreche über diesen Druckdialog.
Sie können diesen Dialog mit der Klasse Process starten.
%Vor%Die einfache Methode, einen neuen Prozess mit dem Verb " print " zu starten, funktioniert unter Windows XP überhaupt nicht (es öffnet Windows Picture and Fax Viewer anstelle des Druckassistenten). Es funktioniert auch nicht wie beabsichtigt unter Windows 10 (beim ersten Start wird die Standard-App-Auswahl für Bilder geöffnet, dann wird der Standard-Foto-Viewer geöffnet).
Der richtige Ansatz wäre die Verwendung des CLSID_PrintPhotosDropTarget COM-Objekts.
Mein Code ist in C ++ (und ATL), aber ich hoffe, Sie könnten es in C # übersetzen.
Ich übergebe Dateinamen, aber AFAIK können Sie das Bild selbst direkt übergeben, ohne es auf die Festplatte zu schreiben, die IDataObject
interface implementiert.