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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值