Вы можете сделать это с помощью вызова User32.dll для SetWindowPos .
Например:
[DllImport("User32.dll")]
public static extern IntPtr FindWindow(string className, string windowName);
[DllImport("User32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetWindowPos(IntPtr windowHandle, IntPtr parentWindowHandle, int x, int y, int width, int height, PositionFlags positionFlags);
public static readonly IntPtr HWND_TOP = new IntPtr(0);
[Flags]
public enum PositionFlags : uint
{
ShowWindow = 0x40
}
static void Main(string[] args)
{
var windowHandle = FindWindow(null, "Untitled - Notepad");
SetWindowPos(windowHandle, HWND_TOP, 0, 0, 640, 480, PositionFlags.ShowWindow);
}
Это найдет окно с заголовком «Без названия - Блокнот», переместит его в 0, 0 и изменит его размер до 640x480. Я добавил минимальное количество флагов PositionFlags и HWND, посмотрите на предоставленную мной ссылку, если вам нужно больше, и добавьте их таким же образом:)
О, и чтобы прочитать размеры, взгляните на GetWindowRect . Вот пример того, как использовать это из c #: Пример .