zoukankan      html  css  js  c++  java
  • WINCE 程序运行全屏,隐藏状态栏操作

    实现方式很简单,你需要完成如下操作。

    1,设置页面的属性用来隐藏标题栏。

    this.WindowState = System.Windows.Forms.FormWindowState.Maximized; 

    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;



    2,使用P/Invoke调用WIN32API进行隐藏状态栏 API调用类:

     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;
    }

     调用方法 

       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;
    }



    使用方法:

    Rectangle rectangle = Screen.PrimaryScreen.Bounds; 
    SetFullScreen(true, ref rectangle);//false为恢复状态栏

    将此方法加在程序窗体的基类OnLoad方法里面,程序运行时处于WINCE全屏状态,在程序退出的方法中调用SetFullScreen(false, ref rectangle)用来在关闭程序后恢复状态栏。WINCE下,隐藏了状态栏之后连同输入法栏也会被隐藏,如果程序需要打开软键盘,那就需要另想办法了。

  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/vinnie520/p/2365152.html
Copyright © 2011-2022 走看看