实现步骤
-
为了能够控制Windows任务栏,我们需要利用Windows API提供的功能。具体来说,我们会使用到
user32.dll
中的两个函数:FindWindow
和ShowWindow
。这两个函数可以帮助我们找到任务栏窗口,并对其执行显示或隐藏的操作 -
引入命名空间:首先,我们在项目中引入
System.Runtime.InteropServices
命名空间,以便能够调用非托管代码(即Windows API)。 -
声明API函数:接着,我们需要声明将要使用的API函数。
模块代码:
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
// 定义常量
private const int SW_HIDE = 0;
private const int SW_SHOW = 5;
/// <summary>
/// 隐藏任务栏
/// </summary>
public void HideTaskbar()
{
var handle = FindWindow("Shell_TrayWnd", null);
if (handle != IntPtr.Zero)
{
ShowWindow(handle, SW_HIDE); // 隐藏任务栏
}
}
/// <summary>
/// 显示任务栏
/// </summary>
public void ShowTaskbar()
{
var handle = FindWindow("Shell_TrayWnd", null);
if (handle != IntPtr.Zero)
{
ShowWindow(handle, SW_SHOW); // 显示任务栏
}
}
调用方法
private void button1_Click(object sender, EventArgs e)
{
HideTaskbar();
}
private void button2_Click(object sender, EventArgs e)
{
ShowTaskbar();
}
参考连接
C#实现隐藏和显示任务栏 (qq.com)https://mp.weixin.qq.com/s?__biz=MzA5MjczOTQ5Mw==&mid=2458677568&idx=1&sn=39bdfb8c49a29f71e6bedf0e0ac2caab&chksm=862ea8bdda23a3d60621324bc02d38ee76bc4d08e58d179f1d86f7157dfce6fc7771b93960ea&mpshare=1&scene=1&srcid=1029yNjQpwRtYpGNGwMdIhrp&sharer_shareinfo=0b1ac58bebcdbd40c4f3399599cf9e06&sharer_shareinfo_first=0b1ac58bebcdbd40c4f3399599cf9e06#rd
特此记录
anlog
2024年10月29日