vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Standarddrucker ändern per Code 
Autor: lars007
Datum: 01.11.05 15:21

Hallo NG,

ich möchte per Code den Default Printer ändern um eine bestimmten Ausdruck
umzuleiten und danach setze ich es wieder zurück.

Ich habe jetzt seit einer Stunde gesucht und alles was ich bisher gefunden habe ist,
wie ich einen Standarddrucker auslesen kann.

Mein Codeversuch:

Dim prt As New Printing.PrinterSettings
prt.PrinterName = ComboBox1.Text
Aber da passiert leider nix!

Was mache ich falsch?

Danke Euch und Gruß
Lars
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: Maywood
Datum: 01.11.05 21:37

Nein, das geht auch nicht so ohne weiteres. Mit der WMI Klasse Win32-Printers sollte das aber kein Problem sein. Hier findest du einfaches Beispiel: http://www.dotnet4all.com/dotnet-code/2004/11/changing-printers-in-visual-basic.html
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: lars007
Datum: 02.11.05 08:27

Hallo Maywood,

es funktioniert!

Ok zugegeben, es sind jetzt rund 5 Zeilen mehr Code aber das hält

sich ja noch in Grenzen

Danke und Gruß
Lars
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: spike24
Datum: 06.11.06 17:17

Nach oben schieb

ist das immer noch so schwierig oder hat sich da mit 2.0 was geändert?
ich bekomme nämlich in der Zeile
mo.InvokeMethod("SetDefaultPrinter", objReturn)
einen fehler
"Diese Methode ist in keiner Klasse implementiert."

und kaum infos irgendwo wie das sonst gehen könnte
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: MeikMiller
Datum: 07.11.06 18:11

Ich weis es nicht warum, aber mit diese Methode bist du an sichere Seite:
    ' Standarddrucker-Wechsel unter Win2k/XP
    Private Declare Function SetPrinterDef Lib "winspool.drv" Alias _
      "SetDefaultPrinterA" (ByVal lpPrinter As String) As Integer
 
    ' Standarddrucker-Wechsel
    Public Function SetPrinterDefault(ByVal sPrinter As String) As Boolean
 
        Dim nResult As Integer
        ' Windows 2000 / XP
        nResult = SetPrinterDef(sPrinter)
        SetPrinterDefault = (nResult <> 0)
 
    End Function
und so nutzt du das ganzes.
  SetPrinterDefault(My.Forms.frmDrücken.cmbDrücker.Text)
Viel Spas.

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: spike24
Datum: 07.11.06 19:07


besten dank, das hat mir sehr weitergeholfen!!!
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: Snoopy
Datum: 07.11.06 20:33

Hi Spike...

hier was mit WMI... Ist aus einem VB6 Tipp von Dieter umgesetzt.
Imports System.Drawing.Printing
 
Public Class Form1
 
   Private Printer As New PrintDocument
 
   Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
     Handles Me.Load
      Label1.Text = Printer.DefaultPageSettings.PrinterSettings.PrinterName
   End Sub
 
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
     System.EventArgs) Handles Button1.Click
      If SetDefaultPrinter(TextBox1.Text) Then
         Label1.Text = Printer.DefaultPageSettings.PrinterSettings.PrinterName
      End If
   End Sub
 
   Private Function SetDefaultPrinter(ByVal sPrinter As String) As Boolean
      Dim oWScript As Object = CreateObject("WScript.Network")
 
      Try
         oWScript.SetDefaultPrinter(sPrinter)
         Return True
      Catch ex As Exception
         MsgBox(ex.Message)
         Return False
      Finally
         oWScript = Nothing
      End Try
   End Function
 
End Class
Bei Share Druckern aus dem Lan, mußt Du den Servernamen mit angeben.
\\Server\Druckername

(VS2005)

Gruß

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Standarddrucker ändern per Code 
Autor: spike24
Datum: 08.11.06 12:26

der ist auch gut, ohne API gefällt mir besser
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel