ShowWindow

ShowWindow

函數功能:該函數設置指定窗口的顯示狀態。

函數原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);

參數


hWnd:指窗口句柄。
nCmdShow:指定窗口如何顯示。如果發送應用程序的程序提供了STARTUPINFO結構,則應用程序第一次調用ShowWindow時該參數被忽略。否則,在第一次調用ShowWindow函數時,該值應為在函數WinMain中nCmdShow參數。在隨後的調用中,該參數可以為下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使擁有窗口的線程被掛起也會最小化。在從其他線程最小化窗口時才使用這個參數。nCmdShow=11。
SW_HIDE:隱藏窗口並激活其他窗口。nCmdShow=0。
SW_MAXIMIZE:最大化指定的窗口。nCmdShow=3。
SW_MINIMIZE:最小化指定的窗口並且激活在Z序中的下一個頂層窗口。nCmdShow=6。
SW_RESTORE:激活並顯示窗口。如果窗口最小化或最大化,則系統將窗口恢復到原來的尺寸和位置。在恢復最小化窗口時,應用程序應該指定這個標誌。nCmdShow=9。
SW_SHOW:在窗口原來的位置以原來的尺寸激活和顯示窗口。nCmdShow=5。
SW_SHOWDEFAULT:依據在STARTUPINFO結構中指定的SW_FLAG標誌設定顯示狀態,STARTUPINFO 結構是由啟動應用程序的程序傳遞給CreateProcess函數的。nCmdShow=10。
SW_SHOWMAXIMIZED:激活窗口並將其最大化。nCmdShow=3。
SW_SHOWMINIMIZED:激活窗口並將其最小化。nCmdShow=2。
SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然維持激活狀態。nCmdShow=7。
SW_SHOWNA:以窗口原來的狀態顯示窗口。激活窗口仍然維持激活狀態。nCmdShow=8。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和狀態顯示窗口。激活窗口仍然維持激活狀態。nCmdShow=4。
SW_SHOWNORMAL:激活並顯示一個窗口。如果窗口被最小化或最大化,系統將其恢復到原來的尺寸和大小。應用程序在第一次顯示窗口的時候應該指定此標誌。nCmdShow=1。

返回值


如果窗口之前可見,則返回值為非零。如果窗口之前被隱藏,則返回值為零。
(參考信息MSDN)
Return Values
If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.

實例


ShowWindow Me.lblHwnd, SW_Minimize

在C#中使用


導入庫:user32.dll
***.Net中運用
命名空間 using System.Runtime.InteropServices;
導入庫 [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
函數原型 static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
參數說明 IntPtr hWnd, hWnd指窗口句柄;uint nCmdShow,nCmdShow指定窗口如何顯示的參數
返回值 布爾值

備註


應用程序第一次調用ShowWindow時,應該使用WinMain函數的nCmdshow參數作為它的nCmdShow參數。在隨後調用ShowWindow函數時,必須使用列表中的一個給定值,而不是由WinMain函數的nCmdSHow參數指定的值。
正如在nCmdShow參數中聲明的,如果調用應用程序的程序使用了在STARTUPINFO結構中指定的信息來顯示窗口,則在第一次調用ShowWindow函數時nCmdShow參數就被忽略。在這種情況下,ShowWindow函數使用STARTUPINFO結構中的信息來顯示窗口。在隨後的調用中,應用程序必須調用ShowWindow 函數(將其中nCmdShow參數設為SW_SHOWDEFAULT)來使用由程序調用該應用程序時提供的啟動信息。這個處理在下列情況下發生:
應用程序通過調用帶WS_VISIBLE標誌的函數來創建它們的主窗口函數;
應用程序通過調用清除了WS_VISIBLE標誌的CreateWindow函數來創建主窗口函數,並且隨後調用帶SW_SHOW標誌的ShowWindow函數來顯示窗口。
Windows CE:nCmdShow參數不支持下列值:
SW_MAXIMINZE;SW_MINIMIZE;SW_RESTORE;SW_SHOWDEFAULT
SW_SHOWMAXIMIZED;SW_SHOWMINIMIZED;SW_SHOWMININOACTIVATE
速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;頭文件:winuw庫文件:user32.lib。