import System from System.Reflection import BindingFlags from System.Runtime.InteropServices import Marshal objType = System.Type.GetTypeFromProgID("Shell.Application") shell = System.Activator.CreateInstance(objType) param = System.Array[System.Object]([ 0, "Hello, COM(IronPython) World!", 0, 36 ]) folder = shell.GetType().InvokeMember( "BrowseForFolder", BindingFlags.InvokeMethod, None, shell, param ) if folder != None: Marshal.ReleaseComObject(folder) Marshal.ReleaseComObject(shell)