Standarddrucker mit ('winmgmts:\\.\root\cimv2')

Hallo Wissende,

nachfolgenden Code fand ich im Internet, ( http://www.office-loesung.de/ftopic172542_0_0_asc.php ) er zeigt mir den Standarddrucker an, sowohl in VB5.0 als auch Excel200-Vba

a) Warum brauche ich da eine Schleife? Gibt es mehrere Standarddrucker?

b) Was verbirgt sich hinter: GetObject(„winmgmts:\.\root\cimv2“) ?

c) Steht da noch was interessantes drin außer dem Standarddrucker?

Danke und Gruß
Reinhard

Option Explicit
'
Private Sub Form\_Load()
Dim objWMI, objItem
Set objWMI = GetObject("winmgmts:\\.\root\cimv2"). \_
 ExecQuery("Select \* from Win32\_Printer where Default = 'true'")
 For Each objItem In objWMI
 MsgBox objItem.properties\_.Item("Name").Value
 Next
End Sub

Hallo Reinhard,

nachfolgenden Code fand ich im Internet, (
http://www.office-loesung.de/ftopic172542_0_0_asc.php ) er zeigt mir den Standarddrucker an, sowohl in
VB5.0 als auch Excel200-Vba

a) Warum brauche ich da eine Schleife? Gibt es mehrere
Standarddrucker?

Nein das nicht. Aber ich denke mal das du das auch übers LAN anwenden kannst. Dort wiederrum sind mehrere Rechner vorhanden. Jeder von diesen kann ein Standard Drucker sein und diese würden dann gefunden werden. Aber sicher bin ich mir da nicht, da ich das noch nie getestet habe.
Aber wie du siehst wird ein SQL Statement abgefeuert und das koennte dir mehr wie nur 1 Treffer bringen. Deswegen die Schleife.
Aber selbst wenn, nur ein Drucker gefunden wird, so wird die Schleife eh nur einmal durchlaufen :wink: Von daher wuere ich mir keine Gedanken machen :smile:

b) Was verbirgt sich hinter:
GetObject(„winmgmts:\.\root\cimv2“) ?

Das ist WMI
http://de.wikipedia.org/wiki/Windows_Management_Inst…

c) Steht da noch was interessantes drin außer dem
Standarddrucker?

Was verstehst du unter „noch was“ ?
Du findest da in in der Properties alles ueber den Drucker :smile:

MfG Alex