ก่อนอื่ทำการแอด referrence ไปที่ Windows Management DLL โดยการไปที่
Project->Add Reference แล้วเลือกที่ S
ystem.Management
เริ่มทำการเขียนโปรแกรมเ
พื่อรับข้อมูลของ Hardware อย่างง่ายๆเช่น ชื่อของ ไดร์ว CD rom
ก่อนอื่นทำการแอด namespace ที่ต้องการใช้งาน
using System.Management;
using System.Management.Instrumentation;
ในส่วนของการดึงข้อมูลออกมานั้นเราต้องส่ง Query เข้าไปให้โดยรุปแบบของ
Query ก็จะคล้ายๆของ SQL
เช่นถ้าต้องการชื่อของ CD-rom Drive
ก็ให้เขียน Query ดังนี้
"Select Name from Win32_CDROMDrive"
แล้วสร้าง Object ของ คลาส
ManagementObjectSearcher
โดยใส่ Query ข้างต้นเป็น ค่าพารามิเตอให้กับ Constructor ของคลาสManagementObjectSearcher searcher =
new ManagementObjectSearcher("Select Name from Win32_CDROMDrive");
เมื่อเราสร้าง qurey ได้แล้วจากนั้นก็จะใช้ foreach ในการช่วยเข้าถึงข้อมูลของ Drive ในแต่ละ Drive
foreach(ManagementObject cdrom in searcher.Get())
{
Console.WriteLine("CD-ROM Name: {0}", cdrom.GetPropertyValue("Name"));
}
ฟังชันก์ GetPropertyValue ต้องการชื่อของข้อมูลที่เราต้องการเป็นพารามิเตอ ในตัวอย่างข้างต้นก็คือ Name
แต่มีข้อจำกัดอยู่ที่ เราต้องใส่ชื่อของข้อมูลที่ต้องการไว้ใน Query string ด้วย
ตัวอย่าง Code
using System;
using System.Management;
using System.Management.Instrumentation;
namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("Select Name from Win32_CDROMDrive");
foreach(ManagementObject cdrom in searcher.Get())
{
Console.WriteLine("Name: {0}\n",
cdrom.GetPropertyValue("Name"));
}
}
}
}
สามารถหาข้อมูลเพิ่มเติมได้ที่
http://msdn.microsoft.com/library/en-us/wmisdk/wmi/wmi_classes.asp
ไม่มีความคิดเห็น:
แสดงความคิดเห็น