windows mobile全屏

來源:互聯網
上載者:User

近日,需要寫一個全屏的程式,以前在WinCE下都是使用ShowWindow來隱藏工作列就可以了,可是在WM下這樣還有開始功能表列,

用中文關鍵字google了一圈,還是沒出來,後來換成英文關鍵字終於找到一個函數SHFullScreen(MSDN說這個函數可以用於WinCE的,測試沒通過)

具體實現:

public class Win32
    {
        [DllImport("aygshell.dll")]
        public static extern bool SHFullScreen(IntPtr hWnd, uint dwState);

        //http://msdn.microsoft.com/en-us/library/aa930139.aspx
        const uint SHFS_SHOWTASKBAR = 0x1;//工作列
        const uint SHFS_HIDETASKBAR = 0x2;
        const uint SHFS_SHOWSIPBUTTON = 0x4;//IME
        const uint SHFS_HIDESIPBUTTON = 0x8;
        const uint SHFS_SHOWSTARTICON = 0x10;//開始功能表列
        const uint SHFS_HIDESTARTICON = 0x20;

        /// <summary>
        /// 全螢幕顯示,即隱藏WM和win CE的工作列(和開始功能表列)
        /// </summary>
        /// <param name="hWnd">要顯示的表單控制代碼</param>
        /// <param name="isFull">true全屏,false取消全屏</param>
        /// <returns></returns>
        public static bool FullScreen(IntPtr hWnd, bool isFull)
        {
            uint dwState = 0;
            if (isFull)
            {
                dwState = SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON | SHFS_HIDESTARTICON;
            }
            else
            {
                dwState = SHFS_SHOWTASKBAR | SHFS_SHOWSIPBUTTON | SHFS_SHOWSTARTICON;
            }
            return Win32.SHFullScreen(hWnd, dwState);
        }

    }

 

form的建構函式中調用:

 

this.WindowState = FormWindowState.Maximized;//這句不能少,且注意表單的大小與螢幕相同
Win32.FullScreen(this.Handle,true);//本樣本在windows mobile 6.1下測試通過

 

 

這樣form啟動後就會位於開始菜單和工作列之上了,而且比使用隱藏工作列的方法更好,因為如果隱藏了工作列,程式還要在退出時讓工作列顯示,如果程式意外退出就不好了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.