From: "Peña, Botp" Date: 2006-06-13T20:11:24+09:00 Subject: Re: Getting a list of Processes fr Reggie Mr: # Here it is...I think this is what you were looking for. # It displays all of the properties for a WMI Class. # # require 'win32ole' # # class MyClass # def get_process_info() # procs = WIN32OLE.connect("winmgmts:\\\\.") # rst = procs.ExecQuery("SELECT * FROM meta_class WHERE __class = # 'Win32_Process'") # rst.each do |x| # puts x.path_.Class.to_s #The Class Name # x.properties_.each do |m| # puts " " + m.Name.to_s #Available Properties of this Class # end # end # end # end # # a = MyClass.new # a.get_process_info() cool, Reggie. Thanks much. I've modified it a bit, if u don't mind. #------- class WMI require 'win32ole' def initialize @procs = WIN32OLE.connect("winmgmts:\\\\.") end def get_class(wmi_class) rst = @procs.ExecQuery("SELECT * FROM meta_class WHERE __class = '#{wmi_class}'") rst.each do |x| x.properties_.each do |m| yield m if block_given? end end end end a = WMI.new puts "---get process names----" a.get_class("Win32_Process") do |cl| puts cl.name end puts "---get registry names----" a.get_class("Win32_Registry") do |cl| puts cl.name end #---- I have a problem though, how do i get other properties besides the name, eg cl.name, i tried cl.description but it does not work. sorry if this is too simple. i do not do windows programming. kind regards -botp