WINCE C#窗体最大化(隐藏状态栏)

mac2022-06-30  16

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为恢复状态栏

 

转载于:https://www.cnblogs.com/jamesping/articles/2662606.html

相关资源:Wince窗体全屏实现
最新回复(0)