C#隐藏桌面图标和任务栏

最近因为项目需要需要实现桌面图标和任务状态栏的隐藏功能,实现的方式很多,比如修改注册表值,调用windows API函数等。经过一番的查阅,这个功能暂时实现了,或许不是很好的方法,但是我预期的效果达到了,希望各位博友批评指正。^_^

好了,废话不多说~  按步骤 GO!

Step1:通过VS建立一个winform项目,在代码界面添加引用

using System.Runtime.InteropServices;

这一步骤很重要,因为下面有很多函数和功能是封装在上面的类库中

 

Step2: 照着下图拖控件

捕获

Step3: 调用windows API 函数,也即在form2的代码界面添加如下代码:

[DllImport("User32.dll", EntryPoint = "FindWindow")]
public extern static IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);

Step4: 定义如下两个函数,实现桌面图标和状态栏的显示和隐藏:

/// <summary>/// 隐藏任务栏和桌面图标/// </summary>private void hideTaskbar(){IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);IntPtr hStar = FindWindow("Button", null);IntPtr desktopPtr = FindWindow("Progman", null);if (trayHwnd != IntPtr.Zero){ShowWindow(desktopPtr, 0);//隐藏桌面图标 (0是隐藏,1是显示)ShowWindow(trayHwnd, 0);//隐藏任务栏ShowWindow(hStar, 0);//隐藏windows 按钮
            }}/// <summary>/// 显示任务栏和桌面图标 /// </summary>private void showTaskbar(){IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);IntPtr hStar = FindWindow("Button", null);IntPtr desktopPtr = FindWindow("Progman", null);if (trayHwnd != IntPtr.Zero){ShowWindow(desktopPtr, 1);ShowWindow(trayHwnd, 1);ShowWindow(hStar, 1);}}

Step5: 在button的click事件中添加上面函数的调用

        /// <summary>/// 隐藏桌面。。。按钮/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){hideTaskbar();}/// <summary>/// 显示桌面 。。。按钮/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){showTaskbar();}

启动调试。。。  嘿嘿 是不是实现了~!

Over!

到此这个功能算是实现了~! 最后,希望大家多多支持~,有啥问题欢迎给我留言哦~

转载于:https://www.cnblogs.com/sakalaka/p/5145272.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CacheManager - 用 C# 编写的 .NET 的开源缓存抽象层

简介CacheManager 是用 C# 编写的 .NET 的开源缓存抽象层。它支持各种缓存提供程序并实现了许多高级功能CacheManager 是用 C# 编写的 .NET 的开源缓存抽象层。它支持各种缓存提供程序并实现了许多高级功能。CacheManager 包的主要目标是让开发人员的生活更容易处理&#xff0c…

这些Intel Atom处理器千万别升Windows 10创意者更新:不兼容

Windows 10创意者更新已经发布&#xff0c;目前的升级方式包括使用Windows 10易升、官方临时链接和MSDNITELLYOU的直链。不过&#xff0c;微软已经给出警告&#xff0c;Intel Clover Trail家族的处理器暂时不支持Windows 10创意者更新&#xff0c;万勿升级&#xff0c;涉及的型…

华中科技大学计算机学院2020直博生名单,华中科技大学各院系2020年博士研究生“申请-考核”制拟录取名单公示...

原标题&#xff1a;华中科技大学各院系2020年博士研究生“申请-考核”制拟录取名单公示根据教育部相关通知要求&#xff0c;结合学校2020年博士“申请-考核”制招生录取工作实际&#xff0c;经各学院研究生招生工作领导小组审核&#xff0c;现陆续发布各院系博士研究生“申请-考…

文档大小超出上传限制怎么办_压缩PDF大小该怎么操作?压缩PDF的软件有哪些?...

压缩PDF大小该怎么操作&#xff1f;工作中使用的任何设备的储存空间都是有限制的&#xff0c;为了能让自己的电脑储存更多的文件&#xff0c;我们可以将多个PDF文件进行压缩再存储。那么我怎么压缩PDF文件呢&#xff1f;下面就小编就来告诉大家压缩PDF文件的好办法。方法一&…

2015 Spark 将走向哪里?

在刚刚过去的spark submit上&#xff0c;Matei Zahara简单回顾了下2014年spark的发展&#xff0c;可用一个词来概括那就是"Amazing"!!! 那么2015年&#xff0c;spark 将主要精力放在哪些方面呢&#xff1f; 一个是数据科学&#xff0c;即提供更高级的API接口&#xf…

char添加一个字符_给你五十行代码把图片变成字符画!程序:太多了,一半都用不完...

今天和大家分享一个简单又好玩的Python项目–“图片转字符画”。废话不多说&#xff0c;先上一个效果图迷惑一下众生。没错的&#xff0c;图片转字符画就是将我们平常所看到的的图片根据像素RGB值和灰度值传化成一个个字符串的过程。嗯…听起来有些费脑子喔。没关系&#xff0c…

oom 如何避免 高并发_微博短视频百万级高可用、高并发架构如何设计?

本文从设计及服务可用性方面&#xff0c;详细解析了微博短视频高可用、高并发架构设计中的问题与解决方案。今天与大家分享的是微博短视频业务的高并发架构&#xff0c;具体内容分为如下三个方面&#xff1a;团队介绍微博视频业务场景“微博故事”业务场景架构设计团队介绍我们…

免费都不管用,Win10升级在中国怎么就这么难?

天下没有免费的午餐&#xff0c;如果有&#xff0c;那也是限时免费。不过&#xff0c;被地摊光盘浸淫十多年的中国民众&#xff0c;这次却对微软的免费分外冷淡。 就在7月26日这天&#xff0c;距离Windows 10免费升级还剩下最后三天&#xff0c;微软发了一份怨念深重的声明——…

在非k8s 环境下 的应用 使用 Dapr Sidekick for .NET

在k8s 环境下&#xff0c;通过Operator 可以管理Dapr sidecar&#xff0c; 在虚拟机环境下&#xff0c;我们也是非常需要这样的一个管理组件&#xff0c;之前写的一篇文章《 在 k8s 以外的分布式环境中使用 Dapr》 里面介绍了一个案例Dapr case study: Man Group&#xff1a;ht…

sigmoid函数_常用的激活(激励)函数——深度学习笔记(建议收藏)

激活函数(又叫激励函数&#xff0c;后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力&#xff0c;神经网络的每层都会有一个激活函数。那他到底是什么&#xff0c;有什么作用&#xff1f;都有哪些常见的激活函数呢&#xff1f;深度学习的基本原理就是基于人工神经网络…

江苏信息考试access_软考 信息处理技术员备考复习攻略

如何备考信息技术处理员&#xff1f;在上午题和下午题中哪些知识点是重点难点&#xff1f;以下整理了信息处理技术员相关信息&#xff0c;祝所有考生们都能顺利通过考试。1上午考试试题分析上午试题含盖了纲中的信息技术基本概念、信息处理技术知识、计算机系统基础知识、操作系…

.NET6之MiniAPI(三十):结束篇(附链接)

不知不觉来到了《.NET6之MiniAPI》的第三十篇&#xff0c;回顾之前的篇幅&#xff0c;主要涉及如下&#xff1a;HTTP请求&#xff0c;应答Request桂素伟&#xff0c;公众号&#xff1a;桂迹.NET6之MiniAPI(二)&#xff1a;requestResponse桂素伟&#xff0c;公众号&#xff1a;…

xhr get获取文件流下载文件_python爬虫实战——豆瓣电影get初体验

影评许可证公众号[2019]第22期本栏目由“数据皮皮侠”独家呈献专场python爬虫实战——豆瓣电影get初体验2019.10.28 / 早上7点场 / 免费本期“栏目”的四大看点&#xff1a;1 如何爬取2 如何解析与提取3 如何解析json数据4 实战&#xff1a;爬取豆瓣影视信息1 如何爬取how to O…

商丘高中计算机考试成绩查询系统,2019商丘中考招生成绩查询时间及网站公布...

成绩发布&#xff1a;今年中招成绩满分仍为700分。7月8日&#xff0c;公布中招成绩。考生可以通过“商丘便民网”及手机APP客户端进行查询&#xff0c;也可以登陆省中招平台(http&#xff1a;//zk.haedu.gov.cn)和商丘市基础教育公共服务平台(http&#xff1a;//www.sqsedu.net…

双时隙的工作原理_OFDM调制技术原理是什么 OFDM调制实现原理介绍【图文】

无线通讯OFDM调制技术原理简介OFDM是现代宽带无线通信系统应用的技术。为了减少高数据率OFDM系统中各信道间影响带来的失真&#xff0c;引入循环前缀(CP)来消除码间干扰(ISI)。它将一个IFFT包的最后部分复制到OFDM符号序列的前端。注意&#xff0c;CP的长度必须长于色散信道的长…

Windows 11 新版 22593 发布:文件资源管理器全新主页,开始菜单图标优化

面向 Dev 和 Beta 频道的 Windows 预览体验成员&#xff0c;微软现已发布 Windows 11 预览版 Build 22593。主要变化1.微软为 Windows 11 文件资源管理器引入了全新的主页功能&#xff0c;集成了快速访问、收藏夹和最近使用的文件。2.Windows 11 “开始”菜单文件夹中的应用程序…

2015年最弱的密码,和最强的密码

网络安全公司SplashData如约发布了本年度最不安全的密码排行榜。这是他们连续第五年做这件事了。 根据2015年从各个渠道泄露出来的密码信息&#xff0c;最弱的密码被“123456”再次蝉联。这个“万年陈酿”的密码排名第一感觉毫无压力。 夺得第二名的是“password”。中国用户似…

ideaspringboot项目上传服务器_nuxt+pm2 自动化部署及打包后文件自动上传阿里云 oss

在读这篇文档时&#xff0c;希望你对 nuxt 及 pm2&#xff0c;有简单的了解nuxtpm2前期准备安装 pm2 及构建 nuxt$ npm i pm2 -g $ npx create-nuxt-app <项目名>ssh 密钥配置pm2 代码自动发布依赖于 git 工具&#xff0c;先将 ssh 密钥配置再你的代码仓库&#xff08;gi…

wait放弃对象锁_Java线程中wait、await、sleep、yield、join用法总结

一、wait()、notify()、notifyAll()用法obj.wait()/obj.wait(long timeout)是Object中的方法&#xff0c;当线程调用wait()方法&#xff0c;当前线程释放对象锁&#xff0c;进入等待队列。obj.notify()/obj.nogifyAll()是Object中的方法&#xff0c;唤醒在此对象上wait()的单个…

怎么找到项目中所有同名的类_26岁转行程序员的成长历程--Day03从内存层面理解类和对象...

今天学习了类、对象及相关知识&#xff0c;试着从内存角度分析三者关系&#xff0c;如果有不对的地方请指正首先得先介绍java中的三个内存区域&#xff1a;栈区用于存放该线程执行方法的信息&#xff08;实际参数、局部变量等&#xff09;。栈属于线程私有&#xff0c;不能实现…