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是隐藏,1是显示)
ShowWindow(trayHwnd, );//隐藏任务栏
ShowWindow(hStar, );//隐藏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, );
ShowWindow(trayHwnd, );
ShowWindow(hStar, );
}
}
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!
到此这个功能算是实现了~! 最后,希望大家多多支持~,有啥问题欢迎给我留言哦~
C#隐藏桌面图标和任务栏的更多相关文章
- windows桌面图标及任务管理栏丢失
背景环境: 卸载某些软件,如Auto CAD 2011 之后,会出现桌面图标和任务栏丢失的现象,某些重要文件没有保存或者不能注销及重启的动作 1:按组合键Ctrl+Shift+Esc,键调出任务管理器 ...
- AlarmManager守护服务和隐藏桌面图标
1.主要内容 本章记录几段常用代码: 1.如何使用AlarmManager守护服务2.如何判断某服务是否正在运行 2.如何暂时禁用Android的组件 2.使用AlarmManager守护服务 Boo ...
- 修改apk显示或隐藏桌面图标
反编译CM设置,打开AndroidManifest.xml,搜索“DEFAULT”,把他替换为"LAUNCHER",然后回编译,回编译之后签名在用RE放到system\app下该权 ...
- Delphi 在任务栏隐藏程序图标
Delphi 在任务栏隐藏程序图标 方法一:1.修改工程文件中的“Application.MainFormOnTaskbar := True;”为“Application.MainFormOnTask ...
- C# 隐藏显示桌面图标
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Windows XP解决显示桌面图标消失的问题
1.依次单击“开始”,“运行”,在运行对话框中输入regsvr32 /n /i:u shell32.dll,按回车键 2.弹出“shell32.dll中的DllInstall成功”的窗口,表明已将数据 ...
- Ubuntu 14 如何创建软件的 启动器/桌面图标?
如题所示:Ubuntu 14 如何创建软件的 启动器/桌面图标? 解决方案: 将 /usr/share/applications/ 里面的相应图标复制到桌面即可. 同理,也可“拖动”到左边的“启动器栏 ...
- Windows Server 2008 显示桌面图标
相信有朋友们有安装使用过windows 2008 server服务器,刚安装好的时候,桌面上只有一个回收站的图标,它没有像windows 7或windows 8一样可以直接通过右击鼠标的菜单来设置,要 ...
- win7家庭版更改桌面图标
电脑 Win7家庭普通版 方法/步骤 1 选择左下角开始. 2 在搜索栏中,输入“ico”,选择“显示或隐藏桌面上的通用图标”. 3 出现桌面图标设置,选择“更改图标”.
随机推荐
- 关于Apple Pay,一篇让你不看就会后悔的文章
编者按:本文作者康上明学为“小米生活”产品经理,在苹果Apple Pay发布后,他对该产品做了深入研究,带来这篇文章. 对于 Apple Pay ,我有几个疑问: 线下支付是一个庞大复杂的流程,当中涉 ...
- C++ Placement New
先看一个题目: #include <stdio.h> #include <iostream> using namespace std; struct Base { int j; ...
- rsyslog masg和rawmsg的区别
msg the MSG part of the message (aka "the message" ;)) message 的MSG 部分 rawmsg the message ...
- C语言入门(13)——循环
在递归调用中,其实每次递归都是在重复做同样一件事,比如求阶乘就是把n乘到(n-1)!上然后把结果返回.虽说是重复,但每次做都稍微有一点区别(n的值不一样),这种每次都有点区别的重复工作称为迭代. 我们 ...
- openstack 开发step-by-step
Set up your Open Stack There are several ways to deploy openstack, Devstack is easily for developer ...
- oracle查看所有表及字段
oracle表设计 http://blog.csdn.net/lanpy88/article/details/7580820 Oracle查看所有表和字段 获取表: select table_name ...
- linux安装php遇到的问题
第一个问题:configure: error: libjpeg.(a|so) not found 很多人都纳闷儿了,我都安装了的,为什么就找不到呢?找不到其实就应试想到它的搜索位置里面是没有的,要不然 ...
- swift3.0 构造器、析构方法(3)
构造和析构是两种特殊的方法,在对象进行初始化的时候 使用构造,在对象的释放操作中,使用析构. 构造器的定义: init (){ //代码 } init(name:String){ //代码 } 在构造 ...
- mac 版本号控制工具SmartSVN7.5.4(破解版)
SmartSVN7.5.4和破解工具,下载地址:http://download.csdn.net/detail/pearlhuzhu/7407319 操作步骤: 1.在MAC上选中smartsvn-m ...
- JS学习笔记(二)运算符和流程控制语句
js中的运算符和流程控制,循环,判断语句都和C#基本一致,但又有其独特的运算符. typeof运算符 获得数据的数据类型,如number,string等.语法: string typeof(变量); ...