Great. It works fine. Now i'm able to make the progressbar be a real progressbar which shows continously progress ;) thanks a lot, wouldn't have get that by myself. here's some example code how it could look like: declaretion/definition: Private Printer As System.Management.ManagementObject Private PrinterSelect As New Management.SelectQuery("SELECT Name, PrinterStatus, DriverName, PortName, Comment, Local, Network, Default FROM Win32_Printer") Private PrinterSummary As New Management.ManagementObjectSearcher(PrinterSelect) Private PrinterCollection As Management.ManagementObjectCollection Private observer As New Management.ManagementOperationObserver Private completionHandler As New WMICompletionHandler executing code: PrinterCollection = Nothing PrinterSummary.Get(observer) PrinterCollection = PrinterSummary.Get() While Not (completionHandler.IsComplete) Application.DoEvents() System.Threading.Thread.Sleep(500) End While For Each Printer In PrinterCollection {...} next printer ... it redraws the progressbar while executing the wmi query, too. you need to add the completionhandler class, shown on that msdn page. thanks again :)