WINCE C#窗体最大化(隐藏状态栏)
public static bool SetFullScreen(bool fullscreen, ref Rectangle rectOld) { int Hwnd = 0; Hwnd = Win32.FindWindow("HHTaskBar", null); if (Hwnd == 0) return false; if (fullscreen) { Win32.ShowWindow((IntPtr)Hwnd, Win32.SW_HIDE); Rectangle rectFull = Screen.PrimaryScreen.Bounds; Win32.SystemParametersInfo(Win32.SPI_GETWORKAREA, 0, ref rectOld, Win32.SPIF_UPDATEINIFILE);//get Win32.SystemParametersInfo(Win32.SPI_SETWORKAREA, 0, ref rectFull, Win32.SPIF_UPDATEINIFILE);//set } else { Win32.ShowWindow((IntPtr)Hwnd, Win32.SW_SHOW); Win32.SystemParametersInfo(Win32.SPI_SETWORKAREA, 0, ref rectOld, Win32.SPIF_UPDATEINIFILE); } return true; }
public static bool SetFullScreen(bool fullscreen, ref Rectangle rectOld)
{
int Hwnd = 0;
Hwnd = Win32.FindWindow("HHTaskBar", null);
if (Hwnd == 0) return false;
if (fullscreen)
{
Win32.ShowWindow((IntPtr)Hwnd, Win32.SW_HIDE);
Rectangle rectFull = Screen.PrimaryScreen.Bounds;
Win32.SystemParametersInfo(Win32.SPI_GETWORKAREA, 0, ref rectOld, Win32.SPIF_UPDATEINIFILE);//get
Win32.SystemParametersInfo(Win32.SPI_SETWORKAREA, 0, ref rectFull, Win32.SPIF_UPDATEINIFILE);//set
}
else
{
Win32.ShowWindow((IntPtr)Hwnd, Win32.SW_SHOW);
Win32.SystemParametersInfo(Win32.SPI_SETWORKAREA, 0, ref rectOld, Win32.SPIF_UPDATEINIFILE);
}
return true;
}
public class Win32 { public const uint POWER_FORCE = 0x00001000u; public const uint POWER_STATE_RESET = 0x00800000u; // reset state [DllImport("coredll.dll")] public static extern uint SetSystemPowerState([MarshalAs(UnmanagedType.LPWStr)]string psState, uint StateFlags, uint Options); [DllImport("coredll.dll", EntryPoint = "FindWindow")] public static extern int FindWindow(string lpWindowName, string lpClassName); [DllImport("coredll.dll", EntryPoint = "ShowWindow")] public static extern bool ShowWindow(IntPtr hwnd, int nCmdShow); [DllImport("coredll.dll", EntryPoint = "SystemParametersInfo")] public static extern int SystemParametersInfo(int uAction, int uParam, ref Rectangle lpvParam, int fuWinIni); public const int SPI_SETWORKAREA = 47; public const int SPI_GETWORKAREA = 48; public const int SW_HIDE = 0x00; public const int SW_SHOW = 0x0001; public const int SPIF_UPDATEINIFILE = 0x01; }
隐藏的代码:
Rectangle rectangle = Screen.PrimaryScreen.Bounds;
SetFullScreen(true, ref rectangle);//false为恢复状态栏