![]() | |
VB.Net ile İşletim Sistemi Bilgilerini Almak | 28.04.2008 12:35:00 |
| Kategori : Visual Basic .NET Özet : Bu makalemde işletim sistemimizin adını ve dilini öğrenmek için basit bir programın nasıl yazıldığını göreceğiz. | |
Makale aynı zamanda System.Management namespacei için güzel bir örnek oluşturacak. Kodlarımızda kullanacağımız WblObjectQuery işletim sistemi bilgilerini görmek için kullanılan bir System.Management nesnesi. Bu nesne yoluyla win32_OperatingSystem tablosuna bağlanıp işimize yarayacak bilgileri çekeceğiz.
Öncelikle aşağıdaki formu oluşturuyoruz. 2 textbox ve 2 buttondan oluşuyor. Textboxlarımızın birine işletim sistemimizin türü, diğerine ise işletim sistemimizin dili geliyor. Buttonların hiçbir özelliği yok. Sadece görsel amaçlı, textboxta ne yazıyorsa orada da yazmasını istiyoruz.
Şimdi kod bölümüne geçiyoruz. Öncelikle System.IO ve System.Management sınıflarını projemize import ediyoruz.
Imports System.IO
Imports System.Management
Daha sonra formumuzun load özelliğine kodlarımızı yazıyoruz. Kodların açıklamaları satır aralarında yer alacaktır. Böylece kodlarken neyi neden yazdığınızı da anlayabileceksiniz.
'makalenin basinda söyledigim gibi WqlObjectQuery'i kullanarak
' win32_OperatingSystem tablosuna bağlanıp verileri çekiyoruz
Dim objectQuery As New WqlObjectQuery("select * from win32_OperatingSystem")
Dim searcher As New ManagementObjectSearcher(objectQuery)
Dim share As ManagementObject
'a parametresi sistem dilinin değerini taşıyacak
Dim a As String
'os parametresi ise isletim sistemimizin türünü tutacak
Dim os As String
For Each share In searcher.Get()
'win32_OperatingSystem tablosundaki name alanını
'isimize yarayacak sekilde cekiyoruz
a = share("Name")
Dim split1 As String()
split1 = Split(a, "|")
os = split1(0)
'hem textbox2ye hemde button2ye isletim sistemimizin türünü yazdiriyoruz
TextBox2.Text = os
Button2.Text = os
Next share
'simdi ise isletim sistemimizin dilini ögrenecegiz
For Each share In searcher.Get()
'yine win32_OperatingSystem tablosunun
' Locale alanindaki veriyi okuyoruz
a = share("Locale")
'belirli global degiskenler var
'örnegin 0409 ingilizceyi temsil ediyoruz
'ben önemli dillerin kodlarini aldim
'siz daha cok ekleyebilir yada silebilirsiniz
If a = "0409" Then
TextBox1.Text = "English"
Button1.Text = "English"
ElseIf a = "0407" Then
TextBox1.Text = "German"
Button1.Text = "German"
ElseIf a = "040a" Then
TextBox1.Text = "Spanish"
Button1.Text = "Spanish"
ElseIf a = "040c" Then
TextBox1.Text = "French"
Button1.Text = "French"
ElseIf a = "0416" Then
TextBox1.Text = "PortBraz"
Button1.Text = "PortBraz"
ElseIf a = "0419" Then
TextBox1.Text = "Russian"
Button1.Text = "Russian"
ElseIf a = "0410" Then
TextBox1.Text = "Italian"
Button1.Text = "Italian"
ElseIf a = "0415" Then
TextBox1.Text = "Polish"
Button1.Text = "Polish"
'iste asil yakalamamiz gereken dil
'041f türkceyi temsil ediyor
ElseIf a = "041f" Then
TextBox1.Text = "Turkish"
Button1.Text = "Turkish"
End If
Next share
Projeyi çalıştırdığınızda aşağıdaki görüntüyü alacaksınız. (İşletim sisteminizin Windows XP, dilinizin Türkçe olduğunu varsayıyorum.)
Böylelikle basit bir yolla nasıl işletim sistemi bilgilerini elde edebileceğinizi göstermiş oldum. Umarım bundan sonraki projelerinize bir katkısı olur.
Bu projenin kodlarında kullandığım Local ID’lerin listesine şuradan ulaşabilirsiniz: http://www.microsoft.com/globaldev/reference/lcid-all.mspx
Farklı makalelerde tekrar görüşmek üzere.
Yağız GÖNÜLER
| |
Yazgelistir.com | |