当前位置: 首页 > 编程日记 > 正文

WMI技术介绍和应用——查询桌面信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。

在Windows操作系统中,存在很多Windows Station。而每一个Windows Station又存在一个或者多个Windows Desktop。我们一般所说的桌面只是这些众多桌面中的一个。以下内容将介绍如何使用WMI查询桌面的相关信息。(转载请指明出于breaksoftware的csdn博客)

如何使用WMI枚举所有的桌面?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT * FROM Win32_Desktop" );recvnotify.ExcuteFun();

一些字段我会在之后解释,我们先看下Name这个字段。每个桌面都有自己的Name信息。在我当前XP系统中,存在以下桌面的名字:

NT AUTHORITY\SYSTEM

NT AUTHORITY\LOCAL SERVICE

NT AUTHORITY\NETWORK SERVICE

我当前登录的域+用户名(对应名字省略)

.DEFAULT

一般来说,我们会比较关心一般意义上的桌面信息。我们可以通过指定域+用户名的方式获取它的信息:SELECT * FROM Win32_Desktop WHERE NAME = 'Your Login Name'。

如何使用WMI判断指定桌面是否支持ALT+TAB(快速任务切换)?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT CoolSwitch FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();

可以见的,我的电脑上是支持ALT+TAB进行切换的。
        如何使用WMI查询光标闪烁的时间间隔时间?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT CursorBlinkRate FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();

这个时间是以毫秒为单位的。可以见的,在我这个桌面中光标闪烁的时间间隔是530毫秒。

如何使用WMI判断拖动窗口时,窗口内部也在跟着移动?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT DragFullWindows FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();

我们按住非客户区拖动窗口,可能存在两种效果:

1 原窗口还在原来位置,而只有一个空心的框子跟着我们鼠标在拖动。等到我们鼠标松开,窗口才移动过去。这种情况,我们的查询将返回FALSE。

2 原窗口随着鼠标的位置移动而移动。这种情况我们将返回TRUE。

如何使用WMI查询桌面上两个图标之间的距离?

   CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT IconSpacing FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        可以见得我这个桌面中两个图标之间的间距是43像素,我量了一下,的确如此。

如何使用WMI获取桌面图标下的文字的字体?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT IconTitleFaceName FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        如何使用WMI查询桌面图标下的文字字体大小?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT IconTitleSize FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        注意此处是使用Point为单位的。

如何使用WMI判断是否开启了屏保?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT ScreenSaverActive FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        该字段为TRUE就是启用了屏保。

如何使用WMI获取屏保程序的路径?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT ScreenSaverExecutable FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        如何使用WMI判断从屏保恢复后是否需要输入密码?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT ScreenSaverSecure FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        可见当前桌面中从屏保恢复后不用输入密码。

如何使用WMI获取需要等待多久才开启屏保?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT ScreenSaverTimeout FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        这个时间单位是秒。可以见得当前桌面等待600秒后将进入屏保程序。

如何使用WMI查询桌面的背景图路径?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT Wallpaper FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        如何使用WMI判断桌面背景图是拉伸效果?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT WallpaperStretched FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


        可以见的,当前桌面的背景图是拉伸效果。但是如果该值是FALSE,则说明不是拉伸效果,即可能是平铺或者居中。那

如何使用WMI在已知不是拉伸效果的情况下,如何判断是平铺或者居中呢?

    CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT WallpaperTiled FROM Win32_Desktop WHERE Name = 'Your Login Name'" );recvnotify.ExcuteFun();


         在WallpaperStretched为FALSE的情况下,如果WallpaperTiled为TRUE,则证明当前桌面背景图是平铺的,否则说明是居中的。

更多的信息在Win32_Desktop。

工程源码见《WMI技术介绍和应用——WMI概述》结尾。

相关文章:

联泰集群发布水晶系列工作站,用于深度学习场景

北京时间2019年12月26日,联泰集群在北京正式发布了水晶系列工作站产品 W722、W7224和W5232。 联泰集群硬件产品技术中心总监刘振锋、软件产品技术中心总监孙建军、硬件产品技术中心工程师肖学文分别从应用方向、水晶工作站一体化软件平台及水晶系列产品硬件方面对本…

航空黑客私人YY

坐飞机从从云南飞回老家广州~~~当然绝对支持深圳航空啦!嘎嘎!为啥?当然是服务好 MM太PL了!呵呵!而且在看杂志的同时还看到了一则新闻 内容如下 近日,深圳航空公司与瑞士OnAir公司在香港签约,合作推动在飞机上实现万米高空的自由通信。2008年奥运会前&am…

Redis安装整理(window平台) +php扩展redis

window平台Redis安装 redis windows安装文件下载地址:http://code.google.com/p/servicestack/wiki/RedisWindowsDownload#Download_32bit_Cygwin_builds_for_Windows我选择的redis为最新版的安装文件,见下图: Redis安装文件解压后,有以下…

WMI技术介绍和应用——查询环境变量

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。 我们可以通过系统属性查看当前系统和当前用户的环境变量。(转载请指明出于breaksoftware的csdn博客) 如何使用WMI枚举所有环境变量的信息? CSynQue…

想学新的编程语言?考虑下Go吧

作者 | Lewis Fairweather译者 | 弯月,责编 | Elle来源 | CSDN(ID:CSDNnews)【导读】快速的运行时、高效的并发、简单易学的语法,这些都是Go语言最吸引人的特性。以下为译文:Go语言的入门门槛之低令我感到惊…

oracle学习总结三(bulk collect用法)

通过bulk collect减少loop处理的开销发表人:logzgh | 发表时间: 2006年五月19日, 10:56采用bulk collect可以将查询结果一次性地加载到collections中。而不是通过cursor一条一条地处理。可以在select into,fetch into,returning into语句使用bulk collect。注意在使用bulk coll…

MQTT的学习研究(五) MQTT moquette 的 Blocking API 发布消息服务端使用

参看官方文档: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic/com.ibm.mq.amqtat.doc/tt00000_.htm * Java 为 MQ Telemetry Transport 创建异步发布程序 *在此任务中,您将遵循教程来修改第一个发布程序。通过修改&#xff0c…

WMI技术介绍和应用——查询驱动信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。 如何使用WMI查询所有驱动信息?(转载请指明出于breaksoftware的csdn博客) CSynQueryData recvnotify(L"root\\CIMV2",L"SELECT * FR…

NumericUpDown

NumericUpDown控件主要功能是为一个TextBox控件添加上下按钮,当单击按钮时实现数字的加减,同时也可以提供静态数据,实现这些数据的上下选择。 属性列表: TargetControlID:该控件的目标作用控件。 Width&…

提高建模效率,改变手工作坊式生产,AutoML的技术研究与应用进展如何了?

整理 | 王银出品 | AI科技大本营(ID:rgznai100)【导读】12 月 5-7 日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑协办的中国大数据技术大会(BDTC 2019)在北京长城饭店隆重举…

.net使用memcached

Windows中memached安装 -------------服务器端配置 1>开始>运行:CMD(确定) 2>cd C:\memcached(回车) 3>memcached -d install(回车 这步执行安装) 4>memcached -d start(回车 这步执行启动memcache服务器,默认分配64M内存&…

22张精炼图笔记,深度学习专项学习必备

作者 | DL&CV_study9编辑 | Elle来源 | CSDN 博客本文为人工智能学习笔记记录。【深度学习基础篇】一、深度学习基本概念监督学习:所有输入数据都有确定的对应输出数据,在各种网络架构中,输入数据和输出数据的节点层都位于网络的两端&…

WMI技术介绍和应用——查询文件夹信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。 本节主要介绍Win32_Directory类。通过该类我们将可以获得部分常用的文件夹信息。在该类中,有属性Name&#x…

CSLA .NET概述

CSLA是Component-based, Scalable, Logical Architecture的简写,CSLA .NET是Rockford Lhotka基于.Net设计的一套N-tier分布式框架。 CSLA .NET包含如下功能: l n-Level undo capability 译:n层撤销功能 l Tracking broke…

简短的几句js实现css压缩和反压缩功能

写在前面 最近一直在整理css,但因为现在Visual Studio 2013太智能了,它每每在我按ctrlED进行格式化代码的时候,就会将css进行层次格式化(如下图所示),而这个格式让我老大实在无法忍受,我老大认为…

迁移学习前沿研究亟需新鲜血液,深度学习理论不能掉链子

作者 | Frederico Guth,Tefilo Emidio de Campos编译 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】人类可以从很少的样本中学习,显示出了人类卓越的泛化能力,而这一点学习算法仍远做不到。当前,最成功的模型需要大量标记好的…

WMI技术介绍和应用——查询磁盘分区和逻辑磁盘信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客) 本节主要介绍Win32_DiskPartition和Win32_LogicalDisk两…

用 jQuery 的 AJAX 功能发现的一个错误/注意点:HTTP Error 411

今天程序中有个地方需要 Ajax 方式 POST 数据,发现在 IE 6.0 下正常,而 FireFox 2.0.0.9 下则出错。通过 FireBug 抓取 ajax 回发后得到的页面信息如下:HTTP Error 411 - Length required 经过 google 搜索发现,这个 HTTP 状态码对…

jquery 取消 radio checked 属性,重新选中的问题解决

<input type"radio" name"test"/> <input type"radio" name"test" id "input2"/> (说明&#xff1a;使用的jquery 版本是 1.10.2。) 使用 jquery 的removeAttr(),清除掉 radio 的checked属性后。使用 attr(…

使用×××版软件中常见的一些错误代码

1、错误代码&#xff08;691&#xff09;&#xff1a;由于域上的用户名或密码无效而拒绝访问。如果是使用的易游提供的服务器&#xff0c;请在帐务系统确认使用的帐号是否状态正常&#xff0c;刚设置好的帐号需要等5分钟才能使用。如果是外部服务器请直接找服务器提供商。2、错…

程序员在地铁写代码遭疯狂吐槽!网友:装什么装

01作为了解程序员这个行业的人来说程序员的工作真的很累加班已经成为他们的标签有的时候网站出事或者需求比较紧急的时候可能路边也是他们的工作场地所以这个时候对于程序员们的工作来说也是不分场合的02之前看到网上有人拍到程序员在地铁上写代码的照片并将之发到网络上 图片一…

如何定制一款12306抢票浏览器——构架

快春节了&#xff0c;火车票一票难求。虽然黄牛市场冷淡了&#xff0c;但是互联网“娱乐界”却越来越闹腾了。先是猎豹等浏览器推出抢票专版&#xff08;插件&#xff09;&#xff0c;然后是铁道部约谈金山&#xff0c;之后流传工信部叫停抢票插件&#xff0c;之后再是工信部出…

一些链接, 关于不可变数据

这篇笔记介绍不可变数据, Persistent Data Structure 和 Immutable. 但是不深入数据结构实现, 函数式编程理论. 定义 https://en.wikipedia.org/wiki/Persistent_data_structure In computing, a persistent data structure is a data structure that always preserves the pre…

囚犯学会编程之后会发生什么?

作者 | Simone Stolzoff译者 | 苏本如&#xff0c;责编 | 郭芮出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;【导读】Slack是硅谷一家多元化的公司&#xff0c;它雇佣了三名以前被监禁的程序员。但事实上&#xff0c;当一个人从监狱获释时&#xff0c;监禁的耻辱…

如何定制一款12306抢票浏览器——用户界面

用户界面 我不打算写个Windows界面。因为这个软件的全部就是个浏览器。我准备将”浏览器“进行到底&#xff0c;所以我选择使用html作为我们的用户界面。我也并不打算从头开始写一个浏览器&#xff0c;我使用了《内嵌IE网页窗口中消除IE默认脚本设置影响的方法》中基于WTL的浏览…

Study on Android【四】--显示控件使用

Android的界面显示同样也是基于控件的。通常是用View&#xff08;包括ViewGroup&#xff09;控件配上XML的样式来做的。具体细节不想说了&#xff0c;可以参考 Samples里的ApiDemos/View&#xff0c;和View的Doc&#xff0c;以及Implementing a UI这篇Doc。其他还有很多&#x…

修改Vim配色方案

1. 查看备选的配色方案/usr/share/vim/vim74/colors2. 查看当前使用的配色方案在命令模式下输入 :colorscheme可见当前使用的配色方案为ron3.选择和设置配色方法编辑 ~/.vimrc文件&#xff0c;如选择ron.vim对应的配色方案&#xff0c;则添加 colorscheme ron4. 设置某项颜色--…

如何定制一款12306抢票浏览器——启动“人”线程

启动“人”线程 在《如何定制一款12306抢票浏览器——构架》一文中&#xff0c;我们提到“人”线程。对于熟悉Window编程的同学来说&#xff0c;线程间通信和信息传递不是难题。但是由于浏览器和我们“人”线程之间传递的是COM对象&#xff0c;这个过程就没有那么简单了。&…

看看你是《老朋友》(青春六人行)里的哪一个

&#xff08;点击“which friends character are you?”连接可以进入问卷页面&#xff09; Which Friends Character Are You? You are Rachel. Youre very selfish and pay great attention to image. Spoiled when you were young, you were always the popular and sn…

360金融沈赟:只有适配实践的技术才能实现价值掘金

金融科技应用的新场景、新需求层出不穷,已成为创新技术的理想“试验田”。然而当“创新”浪潮褪去&#xff0c;行业回归审慎与冷静后不难发现&#xff0c;并非所有创新技术都会深入金融土壤。对此&#xff0c;360金融首席数据科学家沈赟认为&#xff0c;只有适配实践的技术才能…