winCE下全屏的C#代码

本文介绍了一个使用 C# 实现的任务栏隐藏与显示的功能。通过调用 Windows API 函数,可以在程序中实现全屏模式下隐藏任务栏的效果,并提供恢复到正常状态的方法。代码示例详细展示了如何通过按钮点击事件来切换任务栏的可见性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:

http://www.cnblogs.com/hust_wsh/archive/2011/03/02/1968663.html


namespace TaskBarHide

 {
 public partial class MainForm : Form
 {
 public MainForm()
 {
 InitializeComponent();
 }
 
 private void btnShow_Click(object sender, EventArgs e)
 {
 Rectangle rect = new Rectangle();
 FullScreenClass.SetFullScreen(true, ref rect);//显示
 btnShow.Enabled = false;
 btnHide.Enabled = true;
 }
 
 private void btnHide_Click(object sender, EventArgs e)
 {
 Rectangle rect = new Rectangle();
 FullScreenClass.SetFullScreen(false, ref rect);//隐藏
 btnShow.Enabled = true;
 btnHide.Enabled = false;
 }
 }
 
 public class FullScreenClass
 {
 public const int SPI_SETWORKAREA = 47;
 public const int SPI_GETWORKAREA = 48;
 public const int SW_HIDE = 0x00;
 public const int SW_SHOW = 0x0001;
 public const int SPIF_UPDATEINIFILE = 0x01;
 [DllImport("coredll.dll", EntryPoint = "FindWindow")]
 private static extern IntPtr FindWindow(string lpWindowName, string lpClassName);
 [DllImport("coredll.dll", EntryPoint = "ShowWindow")]
 private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
 [DllImport("coredll.dll", EntryPoint = "SystemParametersInfo")]
 private static extern int SystemParametersInfo(int uAction, int uParam, ref Rectangle lpvParam, int fuWinIni);
 
 /// <summary>
 /// 设置全屏或取消全屏
 /// </summary>
 /// <param name="fullscreen">true:全屏 false:恢复</param>
 /// <param name="rectOld">设置的时候,此参数返回原始尺寸,恢复时用此参数设置恢复</param>
 /// <returns>设置结果</returns>
 public static bool SetFullScreen(bool fullscreen, ref Rectangle rectOld)
 {
 IntPtr Hwnd = FindWindow("HHTaskBar", null);
 if (Hwnd == IntPtr.Zero) 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;
 }
 
 }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值