博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#隐藏桌面图标和任务栏
阅读量:5317 次
发布时间:2019-06-14

本文共 2047 字,大约阅读时间需要 6 分钟。

最近因为项目需要需要实现桌面图标和任务状态栏的隐藏功能,实现的方式很多,比如修改注册表值,调用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: 定义如下两个函数,实现桌面图标和状态栏的显示和隐藏:

///         /// 隐藏任务栏和桌面图标        ///         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 按钮            }        }        ///         /// 显示任务栏和桌面图标         ///         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事件中添加上面函数的调用

///         /// 隐藏桌面。。。按钮        ///         ///         ///         private void button1_Click(object sender, EventArgs e)        {            hideTaskbar();        }        ///         /// 显示桌面 。。。按钮        ///         ///         ///         private void button2_Click(object sender, EventArgs e)        {            showTaskbar();        }

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

Over!

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

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

你可能感兴趣的文章
基础学习:C#中float的取值范围和精度
查看>>
MongoDB-CRUD
查看>>
javaagent 简介
查看>>
python升级安装后的yum的修复
查看>>
Vim配置Node.js开发工具
查看>>
web前端面试题2017
查看>>
ELMAH——可插拔错误日志工具
查看>>
MySQL学习笔记(四)
查看>>
【Crash Course Psychology】2. Research & Experimentation笔记
查看>>
两数和
查看>>
移动设备和SharePoint 2013 - 第3部分:推送通知
查看>>
SOPC Builder中SystemID
查看>>
MySQL数据库备份工具mysqldump的使用(转)
查看>>
NTP服务器配置
查看>>
【转】OO无双的blocking/non-blocking执行时刻
查看>>
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
RxJS & Angular
查看>>