Laden...

Druckereinstellungen - Dialog

Erstellt von cyntonix vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.071 Views
C
cyntonix Themenstarter:in
37 Beiträge seit 2009
vor 14 Jahren
Druckereinstellungen - Dialog

Hallo,

ich möchte gerne von meinem Programm aus den Dialog für die Druckereinstellungen öffnen. Dieser ist zu finden unter Systemsteuerung/Drucker und Faxgeräte/[Druckername]/Eigenschaften/Druckereinstellungen.

Der Druckername ist variabel.
Weiß jemand wie ich den Dialog öffnen kann?

Danke schon Mal!
Gruß
Cyn

C
cyntonix Themenstarter:in
37 Beiträge seit 2009
vor 14 Jahren

Leider weiß ich nicht mal einen Lösungsansatz.
Denke dass es evtl. über die Registry gehen würde...

Weiß keiner einen Rat? Wäre wirklich wichtig 🤔

R
100 Beiträge seit 2009
vor 14 Jahren

Ich habe ein Beispiel erstellt. Der Code sieht ungefähr so aus:


        private void btnInvoke_Click(object sender, EventArgs e)
        {
            PrinterSettings psSettings = new PrinterSettings();
            psSettings.PrinterName = cbPrinters.SelectedItem.ToString();
            IntPtr ipDevMode = psSettings.GetHdevmode(psSettings.DefaultPageSettings);
            IntPtr pDevMode = GlobalLock(ipDevMode);
            int nSize = DocumentProperties(this.Handle, IntPtr.Zero, psSettings.PrinterName, pDevMode, ref pDevMode, 0);
            IntPtr ipDevModeData = Marshal.AllocHGlobal(nSize);
            DocumentProperties(this.Handle, IntPtr.Zero, psSettings.PrinterName, ipDevModeData, ref pDevMode, 14);
            GlobalUnlock(ipDevMode);
            psSettings.SetHdevmode(ipDevModeData);
            psSettings.DefaultPageSettings.SetHdevmode(ipDevModeData);
            GlobalFree(ipDevMode);
            Marshal.FreeHGlobal(ipDevModeData);           
        }

Das Project kannst du nach folgenden Link herunterladen
http://rongchaua.net/Web/Source/Printer%20Propeties%20Dialog.zip

C
cyntonix Themenstarter:in
37 Beiträge seit 2009
vor 14 Jahren

Vielen, vielen Dank!
Kannst du evtl den Code noch bisl Kommentieren? Habe gestern abend alles mal durchgegoogelt was ich nicht verstanden habe.
Wie war deine Vorgehensweise, um die Funktion zu ermöglichen? Ich wusste garnicht wie ich das anpacken muss...

Danke noch Mal!

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo cyntonix,

gibt man eine Beschreibung, wollen die Leute Code, gibt man Code, wollen die Leute eine Beschreibung.

Kannst du evtl den Code noch bisl Kommentieren?

Auch wenn es nur eine Frage ist, gefällt mir die Haltung nicht. Du hast doch selbst geschrieben, dass du alles mal durchgegoogelt hast, was du nicht verstanden hast. Dann schreib du doch bitte die Kommentare. Dann muss rongchaua - der sich ja eh schon die Mühe für dich gemacht hat -, wenn alles stimmt, nur schreiben, dass es ok ist, statt sich selber die Finger wund zu tippen.

herbivore

C
cyntonix Themenstarter:in
37 Beiträge seit 2009
vor 14 Jahren

@herbivore: Muss dir Recht geben...
Meine Frage war ziemlich ungenau ausgedrückt, was für keinen Hilfreich ist.

Wie geht man vor, wenn man in Windows einen bestimmten Dialog aufrufen möchte? Wie sucht man die .dll Dateien (Google konnte mir nicht weiterhelfen).
Gibt es evtl. einen Eventhandler, der mir anzeigt was gerade ausgeführt wurde und mit welchen Parametern?

Danke