pojowsh技术开发之家

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
1 namespace TaskBarHide
2 {
3 public partial class MainForm : Form
4 {
5 public MainForm()
6 {
7 InitializeComponent();
8 }
9
10 private void btnShow_Click(object sender, EventArgs e)
11 {
12 Rectangle rect = new Rectangle();
13 FullScreenClass.SetFullScreen(true, ref rect);//显示
14 btnShow.Enabled = false;
15 btnHide.Enabled = true;
16 }
17
18 private void btnHide_Click(object sender, EventArgs e)
19 {
20 Rectangle rect = new Rectangle();
21 FullScreenClass.SetFullScreen(false, ref rect);//隐藏
22 btnShow.Enabled = true;
23 btnHide.Enabled = false;
24 }
25 }
26
27 public class FullScreenClass
28 {
29 public const int SPI_SETWORKAREA = 47;
30 public const int SPI_GETWORKAREA = 48;
31 public const int SW_HIDE = 0x00;
32 public const int SW_SHOW = 0x0001;
33 public const int SPIF_UPDATEINIFILE = 0x01;
34 [DllImport("coredll.dll", EntryPoint = "FindWindow")]
35 private static extern IntPtr FindWindow(string lpWindowName, string lpClassName);
36 [DllImport("coredll.dll", EntryPoint = "ShowWindow")]
37 private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
38 [DllImport("coredll.dll", EntryPoint = "SystemParametersInfo")]
39 private static extern int SystemParametersInfo(int uAction, int uParam, ref Rectangle lpvParam, int fuWinIni);
40
41 /// <summary>
42 /// 设置全屏或取消全屏
43 /// </summary>
44 /// <param name="fullscreen">true:全屏 false:恢复</param>
45 /// <param name="rectOld">设置的时候,此参数返回原始尺寸,恢复时用此参数设置恢复</param>
46 /// <returns>设置结果</returns>
47 public static bool SetFullScreen(bool fullscreen, ref Rectangle rectOld)
48 {
49 IntPtr Hwnd = FindWindow("HHTaskBar", null);
50 if (Hwnd == IntPtr.Zero) return false;
51 if (fullscreen)
52 {
53 ShowWindow(Hwnd, SW_HIDE);
54 Rectangle rectFull = Screen.PrimaryScreen.Bounds;
55 SystemParametersInfo(SPI_GETWORKAREA, 0, ref rectOld, SPIF_UPDATEINIFILE);//get
56 SystemParametersInfo(SPI_SETWORKAREA, 0, ref rectFull, SPIF_UPDATEINIFILE);//set
57 }
58 else
59 {
60 ShowWindow(Hwnd, SW_SHOW);
61 SystemParametersInfo(SPI_SETWORKAREA, 0, ref rectOld, SPIF_UPDATEINIFILE);
62 }
63 return true;
64 }
65
66 }
67 }
posted on 2011-03-02 10:31  pojowsh  阅读(2096)  评论(0编辑  收藏  举报