调整窗口大小C#

调整窗口大小C#,c#,winforms,resize,C#,Winforms,Resize,是否可以从另一个应用程序中调整正在运行的应用程序的窗口大小? 我希望当我正在构建的应用程序启动时,另一个应用程序(比如itunes)的宽度减小到2/3,以便剩下的1/3被我的应用程序占用。这两个应用程序应该一起运行,并且用户可以访问。 如果可能,请提供帮助。您需要获取Windows的句柄,因此请在处使用FindWindow功能,然后使用SendMessage将句柄传递给窗口 您需要使用WM_SIZE(0x0005)在at或PostMessage处发送消息并指定大小。您可以使用SetWindowP

是否可以从另一个应用程序中调整正在运行的应用程序的窗口大小? 我希望当我正在构建的应用程序启动时,另一个应用程序(比如itunes)的宽度减小到2/3,以便剩下的1/3被我的应用程序占用。这两个应用程序应该一起运行,并且用户可以访问。
如果可能,请提供帮助。

您需要获取Windows的句柄,因此请在处使用
FindWindow
功能,然后使用
SendMessage
将句柄传递给窗口


您需要使用WM_SIZE(0x0005)在at或PostMessage处发送消息并指定大小。

您可以使用
SetWindowPos
调整另一进程窗口的大小

    [DllImport("user32.dll")]
    private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, 
        int x, int y, int width, int height, uint uFlags);

    private const uint SHOWWINDOW = 0x0040;

    private void resizeItunes()
    {
        System.Diagnostics.Process[] itunesProcesses = 
            System.Diagnostics.Process.GetProcessesByName("iTunes");

        if (itunesProcesses.Length > 0)
        {
            SetWindowPos(itunesProcesses[0].MainWindowHandle, this.Handle,
                0, 0, Screen.GetWorkingArea(this).Width * 2 / 3,
                Screen.GetWorkingArea(this).Height, SHOWWINDOW);
        }
    }

谢谢我将尝试阅读这些参考资料并实施解决方案。非常感谢。这将帮助我开始这肯定是答案。