代码主题部分的OperatingSystem类,是使用工具(Management (WMI) Extensions for Visual Studio .NET 2003 Server Explorer http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=62d91a63-1253-4ea6-8599-68fb3ef77de1 )生成的。
using System;
using System.Management;
using System.ComponentModel;
using System.Collections;
using System.Globalization;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
public class Program
{
static void Main(string[] args)
{
try
{
ConnectionOptions co = new ConnectionOptions();
co.Username = "administrator";
co.Password = "lacl";
System.Management.ManagementScope ms = new System.Management.ManagementScope(" \\\"+"192.168.103.2"+"\\root\\cimv2 ", co);
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms,oq);
ManagementObjectCollection queryCollection1 = query1.Get();
foreach(ManagementObject mo in queryCollection1)
{
OperatingSystem os=new OperatingSystem(mo);
Console.WriteLine(os.Name);
}
}
catch(Exception ee)
{
Console.WriteLine("发生了一个异常。");
Console.WriteLine(ee.Message);
}
}
}
// ShouldSerialize
1<propertyname> 函数是 VS 属性浏览器用来检查具体某个属性是否必须序列化的函数。为所有 ValueType 属性(类型为 Int32、BOOL 等的属性,不能将它们设置为空)添加这些函数。这些函数使用 Is<propertyname>Null 函数。这些函数还在属性的 TypeConverter 实现中用来检查属性的 NULL 值,以便在 Visual Studio 中进行拖放操作时可以在属性浏览器中显示空值。
2// 函数 Is<propertyname>Null() 用于检查属性是否为 NULL。
3// 为可为空值的读/写属性添加 Reset<propertyname> 函数。这些函数由 VS 设计器用来在属性浏览器中将属性设置为 NULL。
4// 添加到 WMI 属性的类的每个属性都有定义其在 Visual Studio 设计器中的行为以及定义要使用的 TypeConverter 的特性集。
5// DateTime 转换函数 ToDateTime 和 ToDmtfDateTime 添加到类以将 DMTF 日期时间转换为 System.DateTime (或相反)。
6// 为 WMI 类生成的早期绑定类。Win32_OperatingSystem
7public class OperatingSystem : System.ComponentModel.Component
8{
9
10// 用于保存该类所驻留的 WMI 命名空间的私有属性。
11private static string CreatedWmiNamespace = "ROOT\\\CIMV2";
12
13// 私有属性,保存创建此类的 WMI 类的名称。
14private static string CreatedClassName = "Win32_OperatingSystem";
15
16// 用于保存由各种方法使用的 ManagementScope 的私有成员变量。
17private static System.Management.ManagementScope statMgmtScope = null;
18
19private ManagementSystemProperties PrivateSystemProperties;
20
21// 基础 LateBound WMI 对象。
22private System.Management.ManagementObject PrivateLateBoundObject;
23
24// 存储类的“自动提交”行为的成员变量。
25private bool AutoCommitProp = true;
26
27// 保存表示实例的嵌入属性的私有变量。
28private System.Management.ManagementBaseObject embeddedObj;
29
30// 所使用的当前 WMI 对象
31private System.Management.ManagementBaseObject curObj;
32
33// 用于指示实例是否为嵌入对象的标志。
34private bool isEmbedded = false;
35
36// 以下是用 WMI 对象初始化类实例的构造函数的不同重载。
37public OperatingSystem() :
38this(((System.Management.ManagementScope)(null)), ((System.Management.ManagementPath)(null)), ((System.Management.ObjectGetOptions)(null)))
39{
40}
41
42public OperatingSystem(string keyName) :
43this(((System.Management.ManagementScope)(null)), ((System.Management.ManagementPath)(new System.Management.ManagementPath(OperatingSystem.ConstructPath(keyName)))), ((System.Management.ObjectGetOptions)(null)))
44{
45}
46
47public OperatingSystem(System.Management.ManagementScope mgmtScope, string keyName) :
48this(((System.Management.ManagementScope)(mgmtScope)), ((System.Management.ManagementPath)(new System.Management.ManagementPath(OperatingSystem.ConstructPath(keyName)))), ((System.Management.ObjectGetOptions)(null)))
49{
50}
51
52public OperatingSystem(System.Management.ManagementPath path, System.Management.ObjectGetOptions getOptions) :
53this(((System.Management.ManagementScope)(null)), ((System.Management.ManagementPath)(path)), ((System.Management.ObjectGetOptions)(getOptions)))
54{
55}
56
57public OperatingSystem(System.Management.ManagementScope mgmtScope, System.Management.ManagementPath path) :
58this(((System.Management.ManagementScope)(mgmtScope)), ((System.Management.ManagementPath)(path)), ((System.Management.ObjectGetOptions)(null)))
59{
60}
61
62public OperatingSystem(System.Management.ManagementPath path) :
63this(((System.Management.ManagementScope)(null)), ((System.Management.ManagementPath)(path)), ((System.Management.ObjectGetOptions)(null)))
64{
65}
66
67public OperatingSystem(System.Management.ManagementScope mgmtScope, System.Management.ManagementPath path, System.Management.ObjectGetOptions getOptions)
68{
69if ((path != null))
70{
71if ((CheckIfProperClass(mgmtScope, path, getOptions) != true))
72{
73throw new System.ArgumentException("类名不匹配。");
74}
75}
76PrivateLateBoundObject = new System.Management.ManagementObject(mgmtScope, path, getOptions);
77PrivateSystemProperties = new ManagementSystemProperties(PrivateLateBoundObject);
78curObj = PrivateLateBoundObject;
79}
80
81public OperatingSystem(System.Management.ManagementObject theObject)
82{
83if ((CheckIfProperClass(theObject) == true))
84{
85PrivateLateBoundObject = theObject;
86PrivateSystemProperties = new ManagementSystemProperties(PrivateLateBoundObject);
87curObj = PrivateLateBoundObject;
88}
89else
90{
91throw new System.ArgumentException("类名不匹配。");
92}
93}
94
95public OperatingSystem(System.Management.ManagementBaseObject theObject)
96{
97if ((CheckIfProperClass(theObject) == true))
98{
99embeddedObj = theObject;
100PrivateSystemProperties = new ManagementSystemProperties(theObject);
101curObj = embeddedObj;
102isEmbedded = true;
103}
104else
105{
106throw new System.ArgumentException("类名不匹配。");
107}
108}
109
110// 属性返回 WMI 类的命名空间。
111[Browsable(true)]
112[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
113public string OriginatingNamespace
114{
115get
116{
117return "ROOT\\\CIMV2";
118}
119}
120
121[Browsable(true)]
122[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
123public string ManagementClassName
124{
125get
126{
127string strRet = CreatedClassName;
128if ((curObj != null))
129{
130if ((curObj.ClassPath != null))
131{
132strRet = ((string)(curObj["__CLASS"]));
133if (((strRet == null)
134|| (strRet == System.String.Empty)))
135{
136strRet = CreatedClassName;
137}
138}
139}
140return strRet;
141}
142}
143
144// 指向嵌入对象以获取 WMI 对象的系统属性的属性。
145[Browsable(true)]
146[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
147public ManagementSystemProperties SystemProperties
148{
149get
150{
151return PrivateSystemProperties;
152}
153}
154
155// 返回基础 LateBound 对象的属性。
156[Browsable(false)]
157[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
158public System.Management.ManagementBaseObject LateBoundObject
159{
160get
161{
162return curObj;
163}
164}
165
166// 对象的 ManagementScope。
167[Browsable(true)]
168[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
169public System.Management.ManagementScope Scope
170{
171get
172{
173if ((isEmbedded == false))
174{
175return PrivateLateBoundObject.Scope;
176}
177else
178{
179return null;
180}
181}
182set
183{
184if ((isEmbedded == false))
185{
186PrivateLateBoundObject.Scope = value;
187}
188}
189}
190
191/// <summary>
192/// 显示 WMI 对象的提交行为的属性。如果为 true,则 WMI 对象在每次属性修改后都自动保存(即在修改属性后调用 Put())。
193/// </summary>
194[Browsable(false)]
195[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
196public bool AutoCommit
197{
198get
199{
200return AutoCommitProp;
201}
202set
203{
204AutoCommitProp = value;
205}
206}
207
208// 基础 WMI 对象的 ManagementPath。
209[Browsable(true)]
210public System.Management.ManagementPath Path
211{
212get
213{
214if ((isEmbedded == false))
215{
216return PrivateLateBoundObject.Path;
217}
218else
219{
220return null;
221}
222}
223set
224{
225if ((isEmbedded == false))
226{
227if ((CheckIfProperClass(null, value, null) != true))
228{
229throw new System.ArgumentException("类名不匹配。");
230}
231PrivateLateBoundObject.Path = value;
232}
233}
234}
235
236// 由各种方法使用的公共静态范围属性。
237[Browsable(true)]
238[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
239public static System.Management.ManagementScope StaticScope
240{
241get
242{
243return statMgmtScope;
244}
245set
246{
247statMgmtScope = value;
248}
249}
250
251[Browsable(true)]
252[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
253[Description("BootDevice 属性表示 Win32 操作系统启动的那个磁盘驱动器的名称。\n例如: \\\\\\\Device\\\Harddisk0 。")]
254public string BootDevice
255{
256get
257{
258return ((string)(curObj["BootDevice"]));
259}
260}
261
262[Browsable(true)]
263[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
264[Description("BuildNumber 属性表示操作系统的内部版本号码。可用于比产品发行版本号更精确的版本信息。\n例如: 1381")]
265public string BuildNumber
266{
267get
268{
269return ((string)(curObj["BuildNumber"]));
270}
271}
272
273[Browsable(true)]
274[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
275[Description("BuildType 属性表示用于操作系统的内部版本种类。如销售版本和检查版本。")]
276public string BuildType
277{
278get
279{
280return ((string)(curObj["BuildType"]));
281}
282}
283
284[Browsable(true)]
285[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
286[Description("Caption 属性为对象的简短文字描述(一行字符串)。")]
287public string Caption
288{
289get
290{
291return ((string)(curObj["Caption"]));
292}
293}
294
295[Browsable(true)]
296[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
297[Description("CodeSet 属性表示由操作系统使用的编码页值。编码页包含由操作系统为不同语言翻译字符串的字符表。American National Standards Ins" +
298"titute (ANSI)列出代表定义过的编码页的值。如果操作系统不使用 ANSI 编码页,这个成员就会被设为 0。CodeSet 字符串可用六个字符定义编码页" +
299"的值。\n例如: 1255。")]
300public string CodeSet
301{
302get
303{
304return ((string)(curObj["CodeSet"]));
305}
306}
307
308[Browsable(true)]
309[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
310[Description("CountryCode 属性表示由操作系统使用的国家(地区)编码。值是根据国际电话拨号的前缀(还作为 IBM 国家(地区)编码)。CountryCode 字符串可" +
311"使用六个字符定义国家(地区)编码的值。\n例如: 1 代表美国)")]
312public string CountryCode
313{
314get
315{
316return ((string)(curObj["CountryCode"]));
317}
318}
319
320[Browsable(true)]
321[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
322[Description("CreationClassName 表示用来创建范例的类别或子类别的名称。当与这个类别的其它主要属性一起使用时,这个属性允许为这个类别及其子类别的所有范例作唯一识" +
323"别。")]
324public string CreationClassName
325{
326get
327{
328return ((string)(curObj["CreationClassName"]));
329}
330}
331
332[Browsable(true)]
333[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
334[Description("CSCreationClassName 包含作用域计算机系统的创建类别名称。")]
335public string CSCreationClassName
336{
337get
338{
339return ((string)(curObj["CSCreationClassName"]));
340}
341}
342
343[Browsable(true)]
344[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
345[Description("CSDVersion 属性包含一个 null 结尾的字符串,可表示安装在计算机系统上的最新服务包。如果没有安装服务包,该值为 NULL。对于运行 Windows " +
346"95 的计算机系统,这个属性包含提供仲裁有关其它操作系统的信息的一个 null 结尾的字符串。\n例如: Service Pack 3。")]
347public string CSDVersion
348{
349get
350{
351return ((string)(curObj["CSDVersion"]));
352}
353}
354
355[Browsable(true)]
356[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
357[Description("CSName 包含作用域计算机系统的名称。")]
358public string CSName
359{
360get
361{
362return ((string)(curObj["CSName"]));
363}
364}
365
366[Browsable(false)]
367[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
368public bool IsCurrentTimeZoneNull
369{
370get
371{
372if ((curObj["CurrentTimeZone"] == null))
373{
374return true;
375}
376else
377{
378return false;
379}
380}
381}
382
383[Browsable(true)]
384[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
385[Description("CurrentTimeZone 表示操作系统从格林威治时间调整的分钟数。数字不是正数、负数就是零。")]
386[TypeConverter(typeof(WMIValueTypeConverter))]
387public short CurrentTimeZone
388{
389get
390{
391if ((curObj["CurrentTimeZone"] == null))
392{
393return System.Convert.ToInt16(0);
394}
395return ((short)(curObj["CurrentTimeZone"]));
396}
397set
398{
399curObj["CurrentTimeZone"] = value;
400if (((isEmbedded == false)
401&& (AutoCommitProp == true)))
402{
403PrivateLateBoundObject.Put();
404}
405}
406}
407
408[Browsable(false)]
409[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
410public bool IsDebugNull
411{
412get
413{
414if ((curObj["Debug"] == null))
415{
416return true;
417}
418else
419{
420return false;
421}
422}
423}
424
425[Browsable(true)]
426[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
427[Description("Debug 属性表示是否检查过(调试)操作系统内部版本。查过的内部版本提供了错误检查、参数验证和系统调试编码。其它在检查过的二进制产生的内核调试错误消息和调试程序" +
428"终断。这可以帮助立即确定错误的原因和位置。操作由于执行的其它编码在检查过的内部版本而受影响。\n值: TRUE 或 FALSE, TRUE 值代表安装了 User" +
429".exe 的调试版本。")]
430[TypeConverter(typeof(WMIValueTypeConverter))]
431public bool Debug
432{
433get
434{
435if ((curObj["Debug"] == null))
436{
437return System.Convert.ToBoolean(0);
438}
439return ((bool)(curObj["Debug"]));
440}
441}
442
443[Browsable(true)]
444[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
445[Description("Description 属性提供 Windows 操作系统的描述。某些用户的界面(那些允许编辑这个描述的)将其长度限制到 48 个字符。")]
446public string Description
447{
448get
449{
450return ((string)(curObj["Description"]));
451}
452set
453{
454curObj["Description"] = value;
455if (((isEmbedded == false)
456&& (AutoCommitProp == true)))
457{
458PrivateLateBoundObject.Put();
459}
460}
461}
462
463[Browsable(false)]
464[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
465public bool IsDistributedNull
466{
467get
468{
469if ((curObj["Distributed"] == null))
470{
471return true;
472}
473else
474{
475return false;
476}
477}
478}
479
480[Browsable(true)]
481[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
482[Description("波尔值表示操作系统是否在几个计算机系统节点上发行。如果是这样的话,这些节点应该组成一个群集。")]
483[TypeConverter(typeof(WMIValueTypeConverter))]
484public bool Distributed
485{
486get
487{
488if ((curObj["Distributed"] == null))
489{
490return System.Convert.ToBoolean(0);
491}
492return ((bool)(curObj["Distributed"]));
493}
494}
495
496[Browsable(false)]
497[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
498public bool IsEncryptionLevelNull
499{
500get
501{
502if ((curObj["EncryptionLevel"] == null))
503{
504return true;
505}
506else
507{
508return false;
509}
510}
511}
512
513[Browsable(true)]
514[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
515[Description("EncryptionLevel 属性用于表示为安全交易所使用的加密级别,40 位、128 位或 n 位。")]
516[TypeConverter(typeof(WMIValueTypeConverter))]
517public EncryptionLevelValues EncryptionLevel
518{
519get
520{
521if ((curObj["EncryptionLevel"] == null))
522{
523return ((EncryptionLevelValues)(System.Convert.ToInt32(0)));
524}
525return ((EncryptionLevelValues)(Convert.ToInt32(curObj["EncryptionLevel"])));
526}
527}
528
529[Browsable(false)]
530[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
531public bool IsForegroundApplicationBoostNull
532{
533get
534{
535if ((curObj["ForegroundApplicationBoost"] == null))
536{
537return true;
538}
539else
540{
541return false;
542}
543}
544}
545
546[Browsable(true)]
547[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
548[Description(@"ForegroundApplicationBoost 属性表示给前景应用程序增加的优先性。在运行 Windows NT 4.0 和 Windows 2000 的计算机系统上,应用程序扩大是由给应用程序更多的时间(quantum lengths)而实现的。ForegroundApplicationBoost 值为 0 时表示系统扩大了 6 个量子长度; 如果为 1,那么就是 12; 并且如果是 2 那么就是 18。在 Windows NT 3.51 和更早的版本上,应用程序扩大是由增加日程安排的优先权来实现的。对于这些系统来说,日程安排的优先权是由这个属性得知增加的。默认值为 2。")]
549[TypeConverter(typeof(WMIValueTypeConverter))]
550public ForegroundApplicationBoostValues ForegroundApplicationBoost
551{
552get
553{
554if ((curObj["ForegroundApplicationBoost"] == null))
555{
556return ((ForegroundApplicationBoostValues)(System.Convert.ToInt32(0)));
557}
558return ((ForegroundApplicationBoostValues)(Convert.ToInt32(curObj["ForegroundApplicationBoost"])));
559}
560set
561{
562curObj["ForegroundApplicationBoost"] = value;
563if (((isEmbedded == false)
564&& (AutoCommitProp == true)))
565{
566PrivateLateBoundObject.Put();
567}
568}
569}
570
571[Browsable(false)]
572[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
573public bool IsFreePhysicalMemoryNull
574{
575get
576{
577if ((curObj["FreePhysicalMemory"] == null))
578{
579return true;
580}
581else
582{
583return false;
584}
585}
586}
587
588[Browsable(true)]
589[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
590[Description("未使用的和可用的物理内存的 KB 数。")]
591[TypeConverter(typeof(WMIValueTypeConverter))]
592public System.UInt64 FreePhysicalMemory
593{
594get
595{
596if ((curObj["FreePhysicalMemory"] == null))
597{
598return System.Convert.ToUInt64(0);
599}
600return ((System.UInt64)(curObj["FreePhysicalMemory"]));
601}
602}
603
604[Browsable(false)]
605[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
606public bool IsFreeSpaceInPagingFilesNull
607{
608get
609{
610if ((curObj["FreeSpaceInPagingFiles"] == null))
611{
612return true;
613}
614else
615{
616return false;
617}
618}
619}
620
621[Browsable(true)]
622[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
623[Description("能够映射到操作系统的页面文件中,而且不会导致其他页被换出的全部 KB(千字节)数目。0 表示没有页面文件。")]
624[TypeConverter(typeof(WMIValueTypeConverter))]
625public System.UInt64 FreeSpaceInPagingFiles
626{
627get
628{
629if ((curObj["FreeSpaceInPagingFiles"] == null))
630{
631return System.Convert.ToUInt64(0);
632}
633return ((System.UInt64)(curObj["FreeSpaceInPagingFiles"]));
634}
635}
636
637[Browsable(false)]
638[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
639public bool IsFreeVirtualMemoryNull
640{
641get
642{
643if ((curObj["FreeVirtualMemory"] == null))
644{
645return true;
646}
647else
648{
649return false;
650}
651}
652}
653
654[Browsable(true)]
655[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
656[Description("当前没有使用的并且可用的虚拟内存的 KB 数。例如, 这可以通过将空闲 RAM 数目和空闲分页空间(如添加属性、FreePhysicalMemory 和 Free" +
657"SpaceInPagingFiles)相加得出。")]
658[TypeConverter(typeof(WMIValueTypeConverter))]
659public System.UInt64 FreeVirtualMemory
660{
661get
662{
663if ((curObj["FreeVirtualMemory"] == null))
664{
665return System.Convert.ToUInt64(0);
666}
667return ((System.UInt64)(curObj["FreeVirtualMemory"]));
668}
669}
670
671[Browsable(false)]
672[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
673public bool IsInstallDateNull
674{
675get
676{
677if ((curObj["InstallDate"] == null))
678{
679return true;
680}
681else
682{
683return false;
684}
685}
686}
687
688[Browsable(true)]
689[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
690[Description("InstallDate 属性是表示安装对象的日期时间值。没有值并不表示该对象没有安装。")]
691[TypeConverter(typeof(WMIValueTypeConverter))]
692public System.DateTime InstallDate
693{
694get
695{
696if ((curObj["InstallDate"] != null))
697{
698return ToDateTime(((string)(curObj["InstallDate"])));
699}
700else
701{
702return System.DateTime.MinValue;
703}
704}
705}
706
707[Browsable(false)]
708[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
709public bool IsLargeSystemCacheNull
710{
711get
712{
713if ((curObj["LargeSystemCache"] == null))
714{
715return true;
716}
717else
718{
719return false;
720}
721}
722}
723
724[Browsable(true)]
725[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
726[Description("LargeSystemCache 属性表明是否为应用程序 (value=0) 或系统性能 (value=1) 优化内存。")]
727[TypeConverter(typeof(WMIValueTypeConverter))]
728public LargeSystemCacheValues LargeSystemCache
729{
730get
731{
732if ((curObj["LargeSystemCache"] == null))
733{
734return ((LargeSystemCacheValues)(System.Convert.ToInt64(0)));
735}
736return ((LargeSystemCacheValues)(Convert.ToInt64(curObj["LargeSystemCache"])));
737}
738}
739
740[Browsable(false)]
741[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
742public bool IsLastBootUpTimeNull
743{
744get
745{
746if ((curObj["LastBootUpTime"] == null))
747{
748return true;
749}
750else
751{
752return false;
753}
754}
755}
756
757[Browsable(true)]
758[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
759[Description("操作系统最后一次启动的时间。")]
760[TypeConverter(typeof(WMIValueTypeConverter))]
761public System.DateTime LastBootUpTime
762{
763get
764{
765if ((curObj["LastBootUpTime"] != null))
766{
767return ToDateTime(((string)(curObj["LastBootUpTime"])));
768}
769else
770{
771return System.DateTime.MinValue;
772}
773}
774}
775
776[Browsable(false)]
777[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
778public bool IsLocalDateTimeNull
779{
780get
781{
782if ((curObj["LocalDateTime"] == null))
783{
784return true;
785}
786else
787{
788return false;
789}
790}
791}
792
793[Browsable(true)]
794[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
795[Description("操作系统的本地日期和时间标记。")]
796[TypeConverter(typeof(WMIValueTypeConverter))]
797public System.DateTime LocalDateTime
798{
799get
800{
801if ((curObj["LocalDateTime"] != null))
802{
803return ToDateTime(((string)(curObj["LocalDateTime"])));
804}
805else
806{
807return System.DateTime.MinValue;
808}
809}
810}
811
812[Browsable(true)]
813[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
814[Description("Locale 属性表示由操作系统使用的语言识别符。语言识别符是一个国家(地区)的标准国际号码的缩写。每种语言有一个语言识别符(LANGID),包含主要语言识别符和" +
815"次要语言识别符的 16 位值。")]
816public string Locale
817{
818get
819{
820return ((string)(curObj["Locale"]));
821}
822}
823
824[Browsable(true)]
825[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
826[Description("Manufacturer 属性表示操作系统制造商名称。对于 Win32 系统,这个值就是 Microsoft Corporation。")]
827public string Manufacturer
828{
829get
830{
831return ((string)(curObj["Manufacturer"]));
832}
833}
834
835[Browsable(false)]
836[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
837public bool IsMaxNumberOfProcessesNull
838{
839get
840{
841if ((curObj["MaxNumberOfProcesses"] == null))
842{
843return true;
844}
845else
846{
847return false;
848}
849}
850}
851
852[Browsable(true)]
853[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
854[Description("操作系统可以支持的过程上下文最大数量。如果没有固定的最大值,值应该是 0。有固定最大值的系统上,这个对象可以帮助诊断达到最大值时出现的故障。如果未知,输入 -1。" +
855"")]
856[TypeConverter(typeof(WMIValueTypeConverter))]
857public System.UInt32 MaxNumberOfProcesses
858{
859get
860{
861if ((curObj["MaxNumberOfProcesses"] == null))
862{
863return System.Convert.ToUInt32(0);
864}
865return ((System.UInt32)(curObj["MaxNumberOfProcesses"]));
866}
867}
868
869[Browsable(false)]
870[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
871public bool IsMaxProcessMemorySizeNull
872{
873get
874{
875if ((curObj["MaxProcessMemorySize"] == null))
876{
877return true;
878}
879else
880{
881return false;
882}
883}
884}
885
886[Browsable(true)]
887[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
888[Description("可以指派给一个进程的最大 KB 值内存。对于没有虚拟内存的操作系统,这个值一般来讲等于物理内存减去由 BIOS 和 OS 使用的内存得出。对于某些操作系统,这个值" +
889"可能是无限的 - 在这种情况下,应该键入 0。在其它情况下,这个值可能是固定的 - 例如, 2G 或 4G。")]
890[TypeConverter(typeof(WMIValueTypeConverter))]
891public System.UInt64 MaxProcessMemorySize
892{
893get
894{
895if ((curObj["MaxProcessMemorySize"] == null))
896{
897return System.Convert.ToUInt64(0);
898}
899return ((System.UInt64)(curObj["MaxProcessMemorySize"]));
900}
901}
902
903[Browsable(true)]
904[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
905[Description("继承的 Name 属性在计算机系统中作为操作系统范例的项。")]
906public string Name
907{
908get
909{
910return ((string)(curObj["Name"]));
911}
912}
913
914[Browsable(false)]
915[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
916public bool IsNumberOfLicensedUsersNull
917{
918get
919{
920if ((curObj["NumberOfLicensedUsers"] == null))
921{
922return true;
923}
924else
925{
926return false;
927}
928}
929}
930
931[Browsable(true)]
932[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
933[Description("操作系统的用户许可证数目。如果没有限制请键入 0。如果未知请键入 -1。")]
934[TypeConverter(typeof(WMIValueTypeConverter))]
935public System.UInt32 NumberOfLicensedUsers
936{
937get
938{
939if ((curObj["NumberOfLicensedUsers"] == null))
940{
941return System.Convert.ToUInt32(0);
942}
943return ((System.UInt32)(curObj["NumberOfLicensedUsers"]));
944}
945}
946
947[Browsable(false)]
948[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
949public bool IsNumberOfProcessesNull
950{
951get
952{
953if ((curObj["NumberOfProcesses"] == null))
954{
955return true;
956}
957else
958{
959return false;
960}
961}
962}
963
964[Browsable(true)]
965[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
966[Description("在操作系统上当前加载或运行的进程上下文数目。")]
967[TypeConverter(typeof(WMIValueTypeConverter))]
968public System.UInt32 NumberOfProcesses
969{
970get
971{
972if ((curObj["NumberOfProcesses"] == null))
973{
974return System.Convert.ToUInt32(0);
975}
976return ((System.UInt32)(curObj["NumberOfProcesses"]));
977}
978}
979
980[Browsable(false)]
981[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
982public bool IsNumberOfUsersNull
983{
984get
985{
986if ((curObj["NumberOfUsers"] == null))
987{
988return true;
989}
990else
991{
992return false;
993}
994}
995}
996
997[Browsable(true)]
998[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
999[Description("操作系统为其存储当前状态信息的用户会话数。")]
1000[TypeConverter(typeof(WMIValueTypeConverter))]
1001public System.UInt32 NumberOfUsers
1002{
1003get
1004{
1005if ((curObj["NumberOfUsers"] == null))
1006{
1007return System.Convert.ToUInt32(0);
1008}
1009return ((System.UInt32)(curObj["NumberOfUsers"]));
1010}
1011}
1012
1013[Browsable(true)]
1014[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1015[Description("Organization 属性指明了已注册用户(操作系统)的公司名称。\n例如,微软公司。")]
1016public string Organization
1017{
1018get
1019{
1020return ((string)(curObj["Organization"]));
1021}
1022}
1023
1024[Browsable(false)]
1025[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1026public bool IsOSLanguageNull
1027{
1028get
1029{
1030if ((curObj["OSLanguage"] == null))
1031{
1032return true;
1033}
1034else
1035{
1036return false;
1037}
1038}
1039}
1040
1041[Browsable(true)]
1042[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1043[Description("OSLanguage 属性表示操作系统安装的语言版本。\n例如: 0x0807 (德语、瑞士)")]
1044[TypeConverter(typeof(WMIValueTypeConverter))]
1045public System.UInt32 OSLanguage
1046{
1047get
1048{
1049if ((curObj["OSLanguage"] == null))
1050{
1051return System.Convert.ToUInt32(0);
1052}
1053return ((System.UInt32)(curObj["OSLanguage"]));
1054}
1055}
1056
1057[Browsable(false)]
1058[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1059public bool IsOSProductSuiteNull
1060{
1061get
1062{
1063if ((curObj["OSProductSuite"] == null))
1064{
1065return true;
1066}
1067else
1068{
1069return false;
1070}
1071}
1072}
1073
1074[Browsable(true)]
1075[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1076[Description("OSProductSuite 属性表示操作系统的安装的和授权的系统产品。")]
1077[TypeConverter(typeof(WMIValueTypeConverter))]
1078public OSProductSuiteValues OSProductSuite
1079{
1080get
1081{
1082if ((curObj["OSProductSuite"] == null))
1083{
1084return ((OSProductSuiteValues)(System.Convert.ToInt32(0)));
1085}
1086return ((OSProductSuiteValues)(Convert.ToInt32(curObj["OSProductSuite"])));
1087}
1088}
1089
1090[Browsable(false)]
1091[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1092public bool IsOSTypeNull
1093{
1094get
1095{
1096if ((curObj["OSType"] == null))
1097{
1098return true;
1099}
1100else
1101{
1102return false;
1103}
1104}
1105}
1106
1107[Browsable(true)]
1108[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1109[Description("表示操作系统种类的整数。")]
1110[TypeConverter(typeof(WMIValueTypeConverter))]
1111public OSTypeValues OSType
1112{
1113get
1114{
1115if ((curObj["OSType"] == null))
1116{
1117return ((OSTypeValues)(System.Convert.ToInt32(0)));
1118}
1119return ((OSTypeValues)(Convert.ToInt32(curObj["OSType"])));
1120}
1121}
1122
1123[Browsable(true)]
1124[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1125[Description("描述制造商和操作系统种类的字符串 - 当操作系统属性、 OSType 设成 1 (“Other”)时使用。键入到 OtherTypeDescription 中的字" +
1126"符串格式应该与为 OSType 定义的字符串值的格式相似。当 OSType 值为 1 以外的其它任何值时,OtherTypeDescription 应该设成 N" +
1127"ULL。")]
1128public string OtherTypeDescription
1129{
1130get
1131{
1132return ((string)(curObj["OtherTypeDescription"]));
1133}
1134}
1135
1136[Browsable(true)]
1137[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1138[Description("PlusProductID 属性包含 Windows Plus! 操作系统增强软件(如果安装了的话)的产品识别号。")]
1139public string PlusProductID
1140{
1141get
1142{
1143return ((string)(curObj["PlusProductID"]));
1144}
1145}
1146
1147[Browsable(true)]
1148[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1149[Description("PlusVersionNumber 属性包含 Windows Plus! 操作系统增强软件(如果安装了的话)的版本号。")]
1150public string PlusVersionNumber
1151{
1152get
1153{
1154return ((string)(curObj["PlusVersionNumber"]));
1155}
1156}
1157
1158[Browsable(false)]
1159[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1160public bool IsPrimaryNull
1161{
1162get
1163{
1164if ((curObj["Primary"] == null))
1165{
1166return true;
1167}
1168else
1169{
1170return false;
1171}
1172}
1173}
1174
1175[Browsable(true)]
1176[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1177[Description("Primary 属性决定这是否是主要的操作系统。\n值: TRUE 或 FALSE。TRUE 值代表这是主要的操作系统。")]
1178[TypeConverter(typeof(WMIValueTypeConverter))]
1179public bool Primary
1180{
1181get
1182{
1183if ((curObj["Primary"] == null))
1184{
1185return System.Convert.ToBoolean(0);
1186}
1187return ((bool)(curObj["Primary"]));
1188}
1189}
1190
1191[Browsable(false)]
1192[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1193public bool IsProductTypeNull
1194{
1195get
1196{
1197if ((curObj["ProductType"] == null))
1198{
1199return true;
1200}
1201else
1202{
1203return false;
1204}
1205}
1206}
1207
1208[Browsable(true)]
1209[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1210[Description("ProductType 表示有关此系统的额外信息。此数字可以是下面的一个值: \n1 - 工作站 \n2 - 域控制器 \n3 - 服务器")]
1211[TypeConverter(typeof(WMIValueTypeConverter))]
1212public ProductTypeValues ProductType
1213{
1214get
1215{
1216if ((curObj["ProductType"] == null))
1217{
1218return ((ProductTypeValues)(System.Convert.ToInt64(0)));
1219}
1220return ((ProductTypeValues)(Convert.ToInt64(curObj["ProductType"])));
1221}
1222}
1223
1224[Browsable(false)]
1225[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1226public bool IsQuantumLengthNull
1227{
1228get
1229{
1230if ((curObj["QuantumLength"] == null))
1231{
1232return true;
1233}
1234else
1235{
1236return false;
1237}
1238}
1239}
1240
1241[Browsable(true)]
1242[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1243[Description("QuantumLength 属性定义每个量子的钟表嘀嗒数。一个量子是计划程序在转换到其它应用程序之前给应用程序的执行时间单位。当线程运行一个量子时,内核占先它并唯" +
1244"有同等优先权的应用程序将其移到列队尾端。线程的量子的实际长度在各种 Windows 平台上不同。只用于 Windows NT/Windows 2000。")]
1245[TypeConverter(typeof(WMIValueTypeConverter))]
1246public QuantumLengthValues QuantumLength
1247{
1248get
1249{
1250if ((curObj["QuantumLength"] == null))
1251{
1252return ((QuantumLengthValues)(System.Convert.ToInt32(0)));
1253}
1254return ((QuantumLengthValues)(Convert.ToInt32(curObj["QuantumLength"])));
1255}
1256set
1257{
1258curObj["QuantumLength"] = value;
1259if (((isEmbedded == false)
1260&& (AutoCommitProp == true)))
1261{
1262PrivateLateBoundObject.Put();
1263}
1264}
1265}
1266
1267[Browsable(false)]
1268[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1269public bool IsQuantumTypeNull
1270{
1271get
1272{
1273if ((curObj["QuantumType"] == null))
1274{
1275return true;
1276}
1277else
1278{
1279return false;
1280}
1281}
1282}
1283
1284[Browsable(true)]
1285[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1286[Description(@"QuantumType 属性指定了使用固定或可变长度量程。Windows NT 4.0 工作站/Windows 2000 缺省时采用可变长度量程,其前台应用程序的量程比后台应用程序的要长。Windows NT 服务器缺省时采用固定长度量程。量程是一种执行时间单位,在切换到另一个应用程序前,允许调度程序将它指定给某个应用程序。对于具有相等优先级的应用程序,当某线程运行了一个量程时,内核程序会抢占它,并将其移到队列末端。在不同的 Windows 平台上,线程的量程的实际长度会有所不同。仅适用于 Windows NT/Windows 2000。
1287该属性的取值情况如下:
12880 =Unkown –量程类型未知,
12891 = Fixed –量程长度固定,
12902 = Variable –量程长度可变。")]
1291[TypeConverter(typeof(WMIValueTypeConverter))]
1292public QuantumTypeValues QuantumType
1293{
1294get
1295{
1296if ((curObj["QuantumType"] == null))
1297{
1298return ((QuantumTypeValues)(System.Convert.ToInt32(0)));
1299}
1300return ((QuantumTypeValues)(Convert.ToInt32(curObj["QuantumType"])));
1301}
1302set
1303{
1304curObj["QuantumType"] = value;
1305if (((isEmbedded == false)
1306&& (AutoCommitProp == true)))
1307{
1308PrivateLateBoundObject.Put();
1309}
1310}
1311}
1312
1313[Browsable(true)]
1314[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1315[Description("RegisteredUser 属性表示操作系统的注册的用户名。\n例如: Jane Doe")]
1316public string RegisteredUser
1317{
1318get
1319{
1320return ((string)(curObj["RegisteredUser"]));
1321}
1322}
1323&nbs</propertyname></propertyname></propertyname></propertyname>