June 26, 2007

WMI & LotusScript

In LotusScript, to create WMI Object, then setting default print and getting printer size.

Dim objWMIService As Variant
Dim colInstalledPrinters As Variant
Dim objInstances As Variant
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
n = 0
Forall objPrinter In colInstalledPrinters
Redim Preserve pArray(n) As String
pArray(n) = objPrinter.Name
n = n + 1
End Forall

PrinterPath = ws.Prompt(4,"請選擇印表機","請從下列清單選擇所要使用的印表機:","",pArray)
If Cstr(PrinterPath)="" Then Exit Sub

Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name =" & "'" & PrinterPath & "'")
Forall objPrinter In colInstalledPrinters
Call objPrinter.SetDefaultPrinter()
End Forall
Set objInstances = objWMIService.InstancesOf("Win32_PrinterConfiguration",48)
Forall objInstance In objInstances
If objInstance.name = PrinterPath Then
Msgbox objInstance.Orientation
Msgbox objInstance.PaperSize
End If
End Forall

WMI is very Powerful, even control your PC.

Microsoft: WMI Reference

Posted by philipz at June 26, 2007 06:22 PM
歷史上的今天
Comments
Post a comment













Remember personal info?