OVH Cloud OVH Cloud

Imprimante en pause

1 réponse
Avatar
GL_Consult
Bonjour
qlq peut-il me dire comment tester si une imprimante est en pause ou non
(lire dans le registre????)
question subsidiaire:
qlq peut-il me dire COMMENT mettre une imprimante en pause par software
Merci de votre collaboration

1 réponse

Avatar
Jacques93
Bonsoir GL_Consult,
Bonjour
qlq peut-il me dire comment tester si une imprimante est en pause ou non
(lire dans le registre????)
question subsidiaire:
qlq peut-il me dire COMMENT mettre une imprimante en pause par software
Merci de votre collaboration


Avec un script vbs utilisant WMI :

Sub SuspendResumePrinter()
strComputer = "."

Set objWMIService = GetObject("winmgmts:" &
"{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
if Len(PrtNaMe) > 0 Then
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name
= '" & PrtName & "'")
Else
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where
Default = True")
End If

If colInstalledPrinters.Count = 0 then
Msgbox "Imprimante " & PrtName & " non trouvée !"
Exit Sub
End If

For Each ObjPrinter In colInstalledPrinters
Select case ObjPrinter.PrinterState
Case 0 : s = " prête"
Case 1 : s = " en pause"
Case Else : s = cStr (ObjPrinter.PrinterState)
End Select

MsgBox ObjPrinter.Name & " : " & s

Select Case Ucase(OPT)
Case "/P"
ObjPrinter.Pause
MsgBox "Imprimante : " & objPrinter.Name & " en pause"
Case "/R"
ObjPrinter.Resume
MsgBox "Imprimante : " & objPrinter.Name & " prête"
Case Else
MsgBox "Argument : " & Opt & " Invalide"
End Select
Next
End Sub

set WSHShell = WScript.CreateObject("WScript.Shell")
set oArgs = Wscript.Arguments
If oArgs.Count >= 1 then Opt = oArgs(0)
If oArgs.Count = 2 then
PrtName = oArgs(1)
End If

SuspendResumePrinter

--
Cordialement,

Jacques.