我们都知道,在Windows Server 2012系列的服务器版本中都已经引入了Modern的现代界面作为默认的用户交互界面,同时满足视觉一致化,新版的服务器管理程序也做成了扁平化。因此传统的计算机(我的电脑)、我的文档这些经典图标默认是不会存在于传统的经典桌面上的。

为什么会有这样的开题,微软建议大家使用新得Modern模式,你还找原先的那些东西做什么?

那么场景来了,如果是一个需要给用户定制模板的模板提供方(用户有这方面的需求),或者是用户自行拿到了只有Modern的界面服务器如何自定义经典桌面上需要的图标,这里面需要一个简单有效的通用处理办法。另外就是你单纯靠自己找这个界面的开关,那是找不到的!不知道微软是什么意图,想用鼠标找到他,就是找不到!

方法一:使用Windows自带的搜索功能

需要搜索的关键字就是“computer”这个在各种语言中都是通用的

在Modern界面下面直接敲击键盘,输入computer,在设置(settings)项目下可以看到

Figure 1Modern界面下搜索关键字“computer”即可找到

Figure 2传统控制面板环境下搜索关键字"computer"也可方便找到

中文环境下,使用英文关键字一样有效

Figure 3中文环境下使用英文关键字一样有效

Figure 4在Windows 10 化境下一样有效

方法二:使用命令行等非搜索方式

此方法针对“老司机”用户,喜欢使用命令行操作的朋友。

我们借助procexp工具可以查看到开启程序所对应的系统命令行动作。

Figure 5系统是通过rundll32程序进行了窗口的调用,实现开启一个带有参数的desk.cpl控制面板程序

显然上述的命令行对于老司机不合适,冗长不说,关键也不好记忆。

我们分析一下命令行里面的内容对其进行“压缩”。

首先我们需要了解“ "C:\Windows\system32\rundll32.exe" shell32.dll,Control_RunDLL desk.cpl,,0 " 这一长串代表了什么。

红色字体表明是主程序rundll32发起的进程紫色的shell32.dll表明这是个需要调用图标显示壳有关的信息绿色的Control字段表明这是个控制面板调用蓝色的desk.cpl是真正触发的实体

然后我们就可以这么压缩使用了。

对于需要使用命令行直接调取经典桌面图标开关的“老司机”朋友,您可以直接在运行或者cmd黑框里面输入desk.cpl,,0,即可实现快速打开经典桌面图标开关的对话框。

延伸

MVP写文章需要内容充实,所以在延伸部分会和大家讨论为什么微软会这样设计控制面板的开启。

最早的cpl程序出现在Windows 95 里面(KB149698),满足多种多样控制面板独立设置(那是一个时代的开启),也方便程序员写程序时候调用控制面板设置窗口。

而随着时代的进步,微软自我的变革,新的Modern界面诞生了,这个看起来将“Windows”窗口弱化的界面实际上是将原先固化好的窗口经过程序以及用户自定义窗口的结合,但是又由于用户使用习惯的原因一些经典桌面下的设置还是需要使用控制面板来进行配置,(插播,在Windows 10的操作系统中,控制面板更多的是被“设置”那个 齿轮而替代,强大的搜索减少用户再去鼠标指点的查找。)加上服务器操作用户还是能够尽量让服务器功能单一化,直截了当能够解决问题是一致的目标。可见微软这样处理也是一种折中的方式——不完全关闭用户自定义经典桌面的渴望,又进一步引导用户使用搜索这样的高效率操作模式。

至于为什么要这样写“ desk.cpl,,0 ”,原因来自于传统窗口下的“单窗口多页面(多标签、多选项卡)”的设计思路。

某某.cpl,@m,n 这样的表示方法标识调用了 某某.cpl下的那个页面@m,上的第几个标签n。而通常情况下一个CPL程序只有一个主页面@m,因此微软的写法“ 号标签。用户看到的就是一个只有一个标签的desk.cpl程序。

好奇的我继续向下走,如果不带任何参数直接在Windows Server 2012下面打开desk.cpl会看到和设置分辨率一样的界面,(插播,在Windows 10下面已经不是传统桌面环境窗口了,这也证明了微软逐渐弱化传统桌面决心!!),而这个传统桌面的发起者是控制面板本身control.exe,后由explorer.exe来接管。

继续使用sysinternals的strings.exe程序进一步研究desk.cpl可以发现其中重要的一些开关项:

@Themes

@Desktop

@ScreenSaver

@Appearance

@Settings

他们分辨代表了@m中提及到的多种页面,而现在被拆分成若干个独立的个体,虽然入口还是desk.cpl但是最终接管的进程已经不在是那个控制面板程序了,在此,进一步证明微软对于传统桌面弱化的决心,想想以后通过搜索就能进行功能的开关也是一种愉快的事情,真正的条条大路通罗马!上面的那些开关项通过字面就能了解到他们的含义。有兴趣的朋友可以自己跟着desk.cpl, 后面玩一玩(注意有一个半角逗号)。

通过strings.exe还发现一个项目叫做DESK.CPL,,1,这个也可以开启经典桌面下的图标开关窗口,这是为什么呢?让我们回忆一下Windows XP,用这个命令我们可以调出桌面窗口,而其中的自定义桌面就可以完成当时XP桌面上通用图标的设置。

Figure 6回忆Windows XP 下面的desk.cpl,,1

或许是程序开发者的留恋,也可能是恰巧碰上,也可能是适应老程序兼容性等等理由。但无论如何,过去的就让它过去吧,要用新的思维去面对新带来的变化,用新的方法去解决问题。

-=EOB=-

参考:http://vlaurie.com/computers2/Articles/control.htm 关于控制面板的详解

在Windows Server 2012中如何快速开关桌面上经典的“计算机、我的文档”等通用图标的更多相关文章

  1. 在Windows Server 2012 中安装 .NET 3.5 Framework

    问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...

  2. 在Windows Server 2012 中安装 .NET 3.5 Framework,PowerShell 安装.NET FRAMEWORK

    问题 如今,仍然有许多程序和应用需要依靠.NET 3.5 framework 来运行.在Windows Server 2012中,微软提供了.NET 3.5 和.NET 4.5的安装选项以为你的应用程 ...

  3. Windows Server 2012 配置多用户远程桌面

    前段时间因为需要多用户同时远程连接 windows server 2012,但找了半天也没找到远程桌面管理,最后从搜索中找到如下方法,经测试可行! 打开注册表,进入路径: [HKEY_LOCAL_MA ...

  4. [Azure附录]1.在Windows Server 2012中安装Active Directory域服务

    <Windows Azure Platform 系列文章目录> 1.登陆Windows Server 2012,打开服务器管理器,选择"添加角色和功能" 2.在&quo ...

  5. Windows Server 2012中安装Active Directory域服务

    1.登陆Windows Server 2012,打开服务器管理器,选择"添加角色和功能" 2.在"开始之前"页面,直接点击"下一步" 3.选 ...

  6. Windows Server 2012 R2部署--安装桌面体验

    Windows Server 2012 R2部署(3)---安装桌面体验 1) 打开服务器管理器 2) 选择所有服务器    3)添加角色和功能    4)下一步    5)下一步    6)下一步 ...

  7. [转]如何在Windows Server 2012中安装.Net Framework 3.5?

    http://www.cnblogs.com/westsource/archive/2012/12/26/2834876.html If you have Windows Server 2012 is ...

  8. 在Windows Server 2012中搭建SQL Server 2012故障转移集群

    OK~ WSFC 2012 R2 年度盛宴开始~ 在本文中,老王将用一系列的场景,把动态仲裁,动态见证,票数调整,LowerQuorumPriorityNodeID,阻止仲裁等群集仲裁技术串起来,完成 ...

  9. Windows Server 2008 R2 允许远程桌面连接这台计算机是灰色解决办法

    发现在给"远程协助"打钩时,是灰色的没法钩上,也就没办法开启.这是因为Windows Server 2008 R2的安全性已经被微软设计的很高,默认刚安装上Windows Serv ...

随机推荐

  1. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  2. [自翻]fasthttp中文文档(持续更新)

    fasthttp是由valyala编写的声称快于Go官方标准库net/http包十倍的快速HTTP实现.从各方的性能测试结果来看(评测一.评测二),fasthttp作为当下最快的http Go语言包当 ...

  3. redis集成到Springmvc中及使用实例

    redis是现在主流的缓存工具了,因为使用简单.高效且对服务器要求较小,用于大数据量下的缓存 spring也提供了对redis的支持: org.springframework.data.redis.c ...

  4. 用FSM一键制作逐帧动画雪碧图 Vue2 + webpack

    因为工作需要要将五六十张逐帧图拼成雪碧图,网上想找到一件制作工具半天没有找到,就自己用canvas写了一个. 写成之后就再没有什么机会使用了,因此希望有人使用的时候如果遇到bug了能及时反馈给我. 最 ...

  5. 使用HttpClient的优解

    新工作入职不满半周,目前仍然还在交接工作,适应环境当中,笔者不得不说看别人的源码实在是令人痛苦.所幸今天终于将大部分工作流畅地看了一遍,接下来就是熟悉框架技术的阶段了. 也正是在看源码的过程当中,有一 ...

  6. Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现

    文艺小说-?2F,言情小说-?3F,武侠小说-?9F long long ago time-1-1:A 使用工具,long long A ago time-1-2:A 使用分类工具,long long ...

  7. 微信小程序服务范围重大更新

    12.29日,小程序服务范围做了重大更新,增对富媒体和工具类型的小程序,增加了很多细分领域 富媒体:增加资讯,FM电台,有声读物等,媒体平台可上小程序了 工具:信息查询,网络代理,健康,企业管理等 , ...

  8. 深入理解 Android 之 View 的绘制流程

    概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定 ...

  9. Android开发学习—— shape标签的使用

    参考这片文章http://www.cnblogs.com/armyfai/p/5912414.html

  10. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...