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下,隐藏了状态栏之后连同输入法栏也会被隐藏,如果程序需要打开软键盘,那就需要另想办法了。

  • 相关阅读:
    iOS项目之wifi局域网传输文件到iPhone的简单实现
    iOS项目之苹果审核被拒
    iOS项目之模拟请求数据
    nvm-window常用命令
    初探浏览器渲染原理
    node + mongodb 简单实现自己的查询接口
    快速理解_.debounce方法
    tr标签使用hover的box-shadow效果不生效
    一个简单的Node命令行程序:文件浏览
    打造丝般顺滑的 H5 翻页库(传送门)
  • 原文地址:https://www.cnblogs.com/vinnie520/p/2365152.html
Copyright © 2011-2022 走看看