簡體   English   中英

調整窗口大小C#

[英]Resize window size C#

是否可以從另一個應用程序中調整正在運行的應用程序的窗口大小? 我希望當我正在構建的應用程序啟動時,另一個應用程序(比如itunes)的寬度減少到2/3,以便剩余的1/3被我的應用程序占用。 這兩個應用程序應該完全運行並且可由用戶訪問。 請盡可能幫助。

您可以使用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);
        }
    }

您需要獲取Windows的句柄,因此請使用http://msdn.microsoft.com/en-us/library/ms633499(VS.85).aspx上FindWindow函數,然后使用SendMessage將句柄傳遞給窗口。

您需要在http://msdn.microsoft.com/en-us/library/ms644950.aspxPostMessage上發送SendMessage網址http://msdn.microsoft.com/en-us/library/ms644944(VS.85)。 aspx與WM_SIZE(0x0005)並指定大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM