[vb.net] rundll32 printui.dll,PrintUIEntry

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik moet alle NDPS (netware printers) gaan verwijderen van Windows XP machine's

Hiervoor heb ik het volgende gevonden:

http://www.winnetmag.com/Article/ArticleID/14539/14539.html

rundll32 printui.dll,PrintUIEntry [options]

For example to add a HP DeskJet 970Cxi on LPT1: on Windows 2000 use the following:

D:\>rundll32 printui.dll,PrintUIEntry /if /b "HP DeskJet 970Cxi" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "HP DeskJet 970Cxi"

Dit ga ik dus gebruiken om printers te verwijderen.

Hoe kan ik dit uitvoeren in vb.net? moet ik dan command prompt opstarten en dit uitvoeren of is er een 'nettere manier'?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 27-07 22:33
Waarom moet je dat in VB.NET doen ?

Je kan het in een batch-bestandje zetten, en dan dat batch bestand uitvoeren.

Als je dat Batch-bestand vanuit VB.NET wilt uitvoeren, kan je het met deze code doen:
code:
1
2
3
4
5
6
7
8
9
p = new System.Diagnostics.Process();
p.StartInfo.FileName = "c:\\mybatchfile.bat";
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;                
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();        
string sResult = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Omdat ik alleen de network printers moet hebben:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
Private Function GetPrinters() As String
        Dim objPrint As New System.Drawing.Printing.PrinterSettings
        Dim strItem As String
        Dim strPrinters As String
        For Each strItem In objPrint.InstalledPrinters
            If strItem.StartsWith("\\") Then
                strPrinters &= strItem & vbCrLf
            End If
        Next
        Return strPrinters
    End Function

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 27-07 22:33
Wel, dan kan je een temporary - batch filetje maken, waarin je dat commando in wegschrijft, en met mijn voorgaande code voer je dat batch-bestandje uit.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok doe ik dat.

Maar het is dus niet mogelijk om rundll32 vanuit vb.net aan te roepen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het lukt niet met rundll32.

Iemand anders een idee om printers te verwijderen vanuit vb.net?
Pagina: 1