zoukankan      html  css  js  c++  java
  • 全屏窗体的完整方法(转)


    全屏窗体的完整方法:

    1.隐藏任务栏

    2.设置工作区域

    3.窗体最大化

    此方法通用wince/mobile/ppc,但api声明要修改为coredll.dll的引用。

    view plain
    bool fullscreen = false;
    Rectangle rect = new Rectangle();
    private void button4_Click(object sender, EventArgs e)
    {
    fullscreen = !fullscreen;//循环。点一次全屏,再点还原。
    SetFullScreen(fullscreen, ref rect);
    if (fullscreen)
    {
    this.WindowState = FormWindowState.Maximized;//全屏
    }
    else
    {
    this.WindowState = FormWindowState.Normal;//还原
    }
    }

    /// <summary>
    /// 设置全屏或这取消全屏
    /// </summary>
    /// <param name="fullscreen">true:全屏 false:恢复</param>
    /// <param name="rectOld">设置的时候,此参数返回原始尺寸,恢复时用此参数设置恢复</param>
    /// <returns>设置结果</returns>
    public static bool SetFullScreen(bool fullscreen, ref Rectangle rectOld)
    {
    int Hwnd = 0;
    Hwnd = FindWindow("Shell_TrayWnd", null);
    if (Hwnd == 0) return false;
    if (fullscreen)
    {
    ShowWindow(Hwnd, SW_HIDE);
    Rectangle rectFull = Screen.PrimaryScreen.Bounds;
    SystemParametersInfo(SPI_GETWORKAREA, 0, ref rectOld, SPIF_UPDATEINIFILE);//get
    SystemParametersInfo(SPI_SETWORKAREA, 0, ref rectFull, SPIF_UPDATEINIFILE);//set
    }
    else
    {
    ShowWindow(Hwnd, SW_SHOW);
    SystemParametersInfo(SPI_SETWORKAREA, 0, ref rectOld, SPIF_UPDATEINIFILE);
    }
    return true;
    }

    [DllImport("user32.dll", EntryPoint = "ShowWindow")]
    public static extern int ShowWindow(int hwnd, int nCmdShow);
    public const int SW_SHOW = 5; public const int SW_HIDE = 0;

    [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
    private static extern int SystemParametersInfo(int uAction, int uParam, ref Rectangle lpvParam, int fuWinIni);
    public const int SPIF_UPDATEINIFILE = 0x1;
    public const int SPI_SETWORKAREA = 47;
    public const int SPI_GETWORKAREA = 48;

    [DllImport("user32.dll", EntryPoint = "FindWindow")]
    private static extern int FindWindow(string lpClassName, string lpWindowName);
    http://blog.csdn.net/wuyazhe/article/details/5728286

  • 相关阅读:
    ADO.NET基础学习 二(Command对象)
    如何使ElementUI中的el-dropdown传入多参数
    Vue router Element 重复点击导航路由报错解决方法
    vue-svgicon基本使用
    js 两个相等的数组,修改其中一个怎么做到不改变另外一个
    LocalStorage存储JSON对象
    js取整数、取余数的方法
    JS正则截取两个字符串之间及字符串前后内容的方法
    Vuetify 表单规则验证
    JS正则表达式
  • 原文地址:https://www.cnblogs.com/softwareking/p/2119108.html
Copyright © 2011-2022 走看看