Each IronPython binary release ships two executable files: ipy.exe and ipyw.exe. Their (only) difference is, ipy.exe is a console application and ipyw.exe is a windows application. So given the following winform.py,
## winform.py import clr clr.AddReference("System.Windows.Forms") from System.Windows.Forms import * class SimpleForm(Form): def __init__(self): self.Text = 'Simple Winform' Application.Run(SimpleForm())
Running it with ipy.exe will keep the associated console; however, if I launch it with ipyw.exe in a console window, I can continue working on other stuffs within that console.
I found that Shawn wrote some background about WINDOW_CUI/WINDOW_GUI subsystem here.