当前位置: 首页 > article >正文

C#实现隐藏和显示任务栏

实现步骤

  1. 为了能够控制Windows任务栏,我们需要利用Windows API提供的功能。具体来说,我们会使用到user32.dll中的两个函数:FindWindowShowWindow。这两个函数可以帮助我们找到任务栏窗口,并对其执行显示或隐藏的操作

  2. 引入命名空间:首先,我们在项目中引入System.Runtime.InteropServices命名空间,以便能够调用非托管代码(即Windows API)。

  3. 声明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)icon-default.png?t=O83Ahttps://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日


http://www.kler.cn/a/371612.html

相关文章:

  • TVM前端研究--Relay
  • 前端 eslint 配置,以及在git提交之前自动format
  • Git 常用命令与开发流程总结
  • vue使用prototype
  • HTML3D旋转相册
  • 【Linux知识】linux磁盘管理深入了解
  • Json库和文件操作
  • 大厂面试真题-简单描述一下SpringBoot的启动过程
  • 海外著名新闻门户媒体软文发稿之华盛顿独立报-大舍传媒
  • 力扣-最小覆盖子串
  • uniapp vue3 开发华为鸿蒙HarmonyOS 一些报错bug和如何配置签名
  • 引入了窥视孔连接(peephole connections)的LSTM
  • 讯飞星火4.0 Turbo发布,国际14项主流测试集9项第一
  • AUTOSAR 规范中的设计模式:传感器执行器模式
  • 【数据结构 | PTA】懂蛇语
  • [ARM-2D 专题]5 MDK编译器一个旧版本-Ofast优化bug的问题及解决办法
  • 网页上视频没有提供下载权限怎么办?
  • 06回归与相关
  • 通过cv库智能切片 把不同的分镜切出来 自媒体抖音快手混剪
  • 基于C语言实现的UDP服务器
  • Spring Boot 经典九设计模式全览
  • Linux 命令行参数 环境变量
  • 自己动手给ESP8285 / ESP8266 1MB 编译新版AT 固件
  • 第二代支付系统报文交换标准【大额支付系统分册】(版本1.5.6)
  • 【笔记】复数基础复数相乘的物理意义:旋转+缩放
  • synchronized基本用法、原理?