日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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概述》結尾。

總結

以上是生活随笔為你收集整理的WMI技术介绍和应用——查询桌面信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。