实现步骤
-
为了能够控制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日