using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Text; namespace Hello_World { public partial class StartForm : Form { private Timer timer; public StartForm() { InitializeComponent(); IntPtr hWnd = API.FindWindow(this.Text); if (hWnd != IntPtr.Zero) { System.Diagnostics.Debug.WriteLine("hWnd ist nicht null"); this.MaximizeBox = false; this.MinimizeBox = false; this.Focus(); SHAPI.SetForegroundWindow(hWnd); SHAPI.FullScreen(hWnd); } } } public class API { [DllImport("coredll.dll", EntryPoint = "FindWindow")] private extern static IntPtr FindWindow(string lpClassName, string lpWindowName); public static IntPtr FindWindow(string windowName) { return FindWindow(null, windowName); } } public class SHAPI { public const int SHFS_SHOWTASKBAR = 1; public const int SHFS_HIDETASKBAR = 2; public const int SHFS_SHOWSIPBUTTON = 4; public const int SHFS_HIDESIPBUTTON = 8; public const int SHFS_SHOWSTARTICON = 16; public const int SHFS_HIDESTARTICON = 32; [DllImport("aygshell.dll")] private extern static bool SHFullScreen(IntPtr hWnd, int dwState); public static bool FullScreen(IntPtr hWnd) { return SHFullScreen(hWnd, SHFS_HIDESTARTICON | SHFS_HIDETASKBAR); } [DllImport("coredll.dll")] internal static extern int SetForegroundWindow(IntPtr hWnd); } }
下面的代码仅仅隐藏开始菜单但程序退出后会重现:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Text; namespace Wm5ppc { public partial class Form1 : Form { public Form1 () { InitializeComponent (); this.MinimizeBox = false; } private void Form1_Activated (object sender, EventArgs e) { IntPtr hWnd = this.Handle; SHAPI.FullScreen (hWnd); } } public class SHAPI { public const int SHFS_SHOWTASKBAR = 1; public const int SHFS_HIDETASKBAR = 2; public const int SHFS_SHOWSIPBUTTON = 4; public const int SHFS_HIDESIPBUTTON = 8; public const int SHFS_SHOWSTARTICON = 16; public const int SHFS_HIDESTARTICON = 32;
[DllImport ("aygshell.dll")] private extern static bool SHFullScreen (IntPtr hWnd, int dwState); public static bool FullScreen (IntPtr hWnd) { return SHFullScreen (hWnd, SHFS_HIDESTARTICON); } } }
以上代码本人经过测试,好像不是很稳定,试过几次是可以全屏的,连开始菜单也没有了,现在一直都没办法全屏,我测试的系统是WINCE5,不知道是 不是漏了哪个步骤没做好。