博客日历
2025年06月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
存档
2025年03月 2024年
03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
通过WMI脚本来操作SteadyState,将磁盘保护功能设置为“永久保留所有更改”
Option Explicit
'WDP_Control.CurrentStatus
const WDP_ACTIVE = 0
const WDP_PASSIVE = 1
'WDP_Control.CurrentMode
const WDP_MODE_DISCARD = 0 '在重新启动时删除所有更改
const WDP_MODE_PERSIST = 1
const WDP_MODE_COMMIT = 2 '永久保留所有更改
Dim objSWbemLocator
Set objSWbemLocator=CreateObject("WbemScripting.SWbemLocator")
Dim objSWbemServices
Set objSWbemServices=objSWbemLocator.ConnectServer(".","root\WMI")
Dim objSWbemObjectSet
Set objSWbemObjectSet=objSWbemServices.InstancesOf("WDP_CONTROL")
'读取CurrentStatus 属性
Dim CurrentStatus
Dim objSWbemObjectWDP
For Each objSWbemObjectWDP In objSWbemObjectSet
CurrentStatus=objSWbemObjectWDP.CurrentStatus
Next
'只有 CurrentStatus 属性是 WDP_ACTIVE,才能应用 CurrentMode 属性。
If WDP_ACTIVE=CurrentStatus Then
For Each objSWbemObjectWDP In objSWbemObjectSet
objSWbemObjectWDP.CurrentMode=WDP_MODE_COMMIT
'SWbemObject的Put_方法将属性更新到WMI中去
objSWbemObjectWDP.Put_
Next
MsgBox "成功设置为“永久保留所有更改”状态。",48,"提示"
Else
MsgBox "没有打开磁盘保护功能!"
End If
'备注:Scripting API Objects中的每个类都包含缩写Wbem,Wbem是一项规范企业网络中受管资源的描述与使用的业界倡议,是Web-Based Enterprise Management的简写,实际上WBEM就是针对于计算机设备的一种管理标准,WMI算是微软的Windows在Wbem方面的一个具体实现。
上一篇: 通过一个具体实例来理解WMI脚本编程-读取BIOS信息
下一篇: 基于C++的WMI应用编程初探-读取BIOS信息
分类:Win32/C++ 查看次数:5924 发布时间:2009/6/1 12:32:21