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

  • 相关阅读:
    Typora Writings
    Xcode7.3 beta 新功能
    最美应用API接口分析
    'Project Name' was compiled with optimization
    web前端开发与iOS终端开发的异同[转]
    2015-12-19_16_30_15
    Xcode搭建Python编译环境
    jsPach.qq.com
    Q&AApple’s Craig Federighi talks open source Swift, Objective-C and the next 20 years of development
    .NET Core项目与传统vs项目的细微不同
  • 原文地址:https://www.cnblogs.com/softwareking/p/2119108.html
Copyright © 2011-2022 走看看