public void SetWindowPosition (int left, int top)
{
ConsoleScreenBufferInfo info = new ConsoleScreenBufferInfo ();
GetConsoleScreenBufferInfo (outputHandle, out info);
SmallRect rect = info.Window;
rect.Left = (short) left;
rect.Top = (short) top;
if (!SetConsoleWindowInfo (outputHandle, true, ref rect))
throw new ArgumentOutOfRangeException ("left/top", "Windows error " + Marshal.GetLastWin32Error ());
}