Jag har hittat mycket kod som beskriver hur man byter Defaultskrivare, men vad jag skulle behöva är någon kod som gör att man kan identifiera vilken skrivare som just nu är vald som default. Detta för att jag i min kod skall ändra defaultskrivare, göra en utskrift och sedan återställa till ursprunglig skrivare. Men hur går jag tillväga? Förslag mottages tacksamt! Jag hittade svaret; Byta Default skrivare och tillbaka...
Sv: Byta Default skrivare och tillbaka...
http://msdn2.microsoft.com/en-us/library/aa394363.aspx
Där står hur strukturen är för Win32_Printer som innehåller informationen om Default printer.
och där fanns också exempel kod (VBScript):
<code>
strComputer = "."
Set objWMIService = GetObject( _
"winmgmts:" & "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
If objPrinter.Default = "True" Then
Wscript.Echo "Name: " & objPrinter.Name
End If
Next
</code>
Då är det en enkel sak att identifiera defaultprintern, ställa om printern, skriva ut och sedan återställa defaultprintern.