`
zu14
  • 浏览: 459688 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

C#使用系统的“显示桌面”功能(Shell.Application)

阅读更多

在 Windows 系统的 任务栏 上的 快速启动栏 里,通常有一个图标  ,点击这个图标,就会切换到桌面。这个图标实际是一个 “Windows Explorer Command” ,用记事本打开这个文件,我们看到如下的内容:

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

这个文件的格式,实际是一个 ini 文件的形式,其中,我们要关注的是 Command=ToggleDesktop 这句,这句是explorer要执行的命令;通过 MSDN 我们可以看到关于 ToggleDesktop 的说明:

This method has the same effect as the Show Desktop button in the Quick Launch area of the Taskbar. 
It either hides all open windows and shows the desktop, or it hides the desktop and shows all open windows. 
The ToggleDesktop method does not display any user interface, it just invokes the toggle action.

 

在C#中,使用 显示桌面 的功能,实际就是使用 Shell.Application 去执行 ToggleDesktop 这个功能,代码如下:

Type shellType = Type.GetTypeFromProgID("Shell.Application");
object shellObject = System.Activator.CreateInstance(shellType);
shellType.InvokeMember("ToggleDesktop", System.Reflection.BindingFlags.InvokeMethod, null, shellObject, null);
分享到:
评论

相关推荐

    桌面显示C#源代码源代码.rar

    桌面显示C#源代码 Type shellType = Type.GetTypeFromProgID("Shell.Application"); object shellObject = System.Activator.CreateInstance(shellType); shellType.InvokeMember("ToggleDesktop", System....

    用C#打开Internet选项

    通过这种方式,我们就可以使用C#代码来实现打开“Internet选项”的功能。然而,如果需要设置具体的Internet选项,情况会变得更加复杂,因为这可能涉及读取和修改注册表值,或者需要对IE浏览器的自动化进行更深入的...

    背景最大化及任务栏设置程序(C#源代码编写)

    在本项目中,我们主要探讨的是如何使用C#编程语言来实现一个背景最大化及任务栏设置的程序。C#是一种面向对象的、类型安全的、现代的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及移动应用。...

    桌面右下角弹出消息窗体,不影响程序聚焦

    本文将详细介绍如何使用C#结合WinAPI创建一个在桌面右下角弹出的消息窗体,并且确保这个窗体不会影响到当前活动的程序聚焦。 首先,我们需要了解WinAPI中的关键函数。`Shell_NotifyIcon`是实现托盘通知的主要函数,...

    .NET C# 任务栏状态开发Demo

    本文将深入探讨如何使用C#实现任务栏状态的开发,特别是在任务栏图标上显示下载进度的功能。 首先,我们需要理解任务栏在Windows操作系统中的作用。任务栏是用户界面的一个关键部分,它包含了系统托盘、开始按钮、...

    获取系统程序图标

    这些图标由操作系统提供,用于在桌面、开始菜单、文件浏览器等界面中展示。要获取系统程序图标,开发者通常会使用.NET Framework或.NET Core中的类库来实现,特别是对于WPF(Windows Presentation Foundation)应用...

    C#浏览器编程,学习使用

    在“新建项目”对话框的项目类型窗口中选中“Visual C#”作为项目开发语言,在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义...

    win桌面源码

    "win桌面源码" 指的是Windows操作系统桌面环境的源代码,这通常涉及到操作系统界面层的编程,包括窗口管理、图标显示、任务栏功能、桌面壁纸设置等一系列与用户交互密切相关的代码。 【描述分析】 "windows桌面源码...

    granadosC#打开SSH命令行窗口例子

    在给定的标题“granadosC#打开SSH命令行窗口例子”中,我们可以推测这是一个关于如何使用C#来实现SSH(Secure Shell)连接并打开远程Linux系统的命令行窗口的示例。SSH是一种网络协议,用于安全地远程访问和管理...

    IWshRuntimeLibrary

    使用IWshRuntimeLibrary创建的快捷方式适用于所有版本的Windows,因为它是Windows系统的一部分,确保了跨版本的兼容性。 总之,IWshRuntimeLibrary为Winform开发者提供了一种简单易用的方式,用于创建和管理...

    托盘.rar 添加托盘的例子

    在IT领域,"托盘"通常指的是系统托盘或通知区域,它位于操作系统桌面的右下角,显示各种应用程序的图标。这些图标通常代表后台运行的服务或者程序,用户可以通过单击或右键点击来访问相应的功能。本示例"托盘.rar"是...

    资源管理器

    在这个场景中,提到的是一个"类似资源管理器的Winform",这意味着我们讨论的是一个使用C#编程语言构建的Windows桌面应用程序,该应用模仿了Windows资源管理器的功能。 C#是微软开发的一种面向对象的编程语言,广泛...

    小组开发的MyQQ

    6. **消息通知机制**:"来消息闪烁功能"涉及Windows API调用,通过改变窗口的激活状态或使用特定的通知机制(如Shell_NotifyIcon)来提醒用户有新消息。 7. **文件操作**:上传个性化头像涉及到本地文件的选择和...

    VC 任务栏上弹出类似MSN,QQ的消息提示框.rar

    要在此处创建自定义的通知,开发者需要使用Windows API(Application Programming Interface)中的Shell_NotifyIcon函数。该函数允许程序向任务栏添加、更新或删除图标,并显示气泡提示。 在提供的压缩包文件...

    完整版新(已添加托盘事件)用API置托盘图标成功.rar

    在实际编程中,通常会使用C++、C#、VB.NET等语言,结合Windows API库来实现这一功能。开发流程包括: 1. 注册消息循环:创建一个消息循环,以接收和处理来自系统的消息,包括托盘事件。 2. 创建托盘图标:使用`...

    QQ消息(鼠标移至任务栏图标显示新闻)

    标题“QQ消息(鼠标移至任务栏图标...文件名称"WindowsApplication1"可能是这个示例程序的名称,表明这是一个基于Windows的桌面应用程序。具体实现细节可能会根据使用的编程语言和框架有所不同,但核心思路是一致的。

    程序最小化到托盘

    在计算机编程领域,"程序最小化到托盘"是一个常见的功能设计,特别是在开发桌面应用程序时。这个特性允许用户将正在运行的程序窗口缩小并隐藏到操作系统任务栏的系统托盘区域,而不是完全关闭或最小化到任务栏。这样...

    WPF宝典NETFramework版本

    本资料《WPF编程宝典——使用C# 2012和.NET 4.5(第4版)》将深入介绍WPF的基础知识和应用技巧,是WPF新手的理想入门读物。 1. **XAML语言基础** XAML(Extensible Application Markup Language)是WPF的核心,...

    一个缩小到托盘的程序

    6. **API调用**:可能涉及WinAPI函数,如`Shell_NotifyIcon`用于在系统托盘中添加和管理图标。 7. **编程语言**:可能是C#、C++或其他支持与系统托盘交互的编程语言。 8. **Windows Forms**:如果是.NET Framework的...

    隐藏任务栏代码 隐藏任务栏代码 隐藏任务栏代码

    在Windows操作系统中,任务栏是用户界面的重要组成部分,它提供了快速访问常用应用程序、打开的窗口以及系统托盘区域的功能。然而,在某些特定情况下,比如进行全屏演示或想要优化屏幕空间时,用户可能会希望暂时...

Global site tag (gtag.js) - Google Analytics