VB.Net ile işletim sistemi bilgilerini almak

Yağız Gönüler tarafından yayınlanmıştır 13. Ağustos 2008 13:39
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

Kaynaklar:

- Microsoft
- Code Project

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Articles | Software | Windows

Yorum ekle


(Gravatar simgesini gösterecek)  

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.
Sitedeki kod ve tasarım değişiklikleri ise Yağız Gönüler tarafından geliştirilmiştir.
2008 © www.yagizgonuler.com

Şifahen değil acilen!

Anket

Yazılım geliştirirken en keyif aldığınız alan hangisi?




Sonuçlar

Son Yorumlar

Comment RSS

Calendar

<<  Ocak 2009  >>
PaSaÇaPeCuCuPa
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

Yazıları geniş takvimde göster

Ne Dinliyorum?

Kirpi - TearDrop (11 saat önce)
Kirpi - My Name Is Kirpi (11 saat önce)
Kirpi - The Song (11 saat önce)
Kirpi - Spell (11 saat önce)
Huseyin Karadayi - Bonus Track Funk Clarinet (String Mix) (11 saat önce)
Huseyin Karadayi - Sacred Gate (11 saat önce)
Huseyin Karadayi - Exotica (12 saat önce)
Huseyin Karadayi - Take Me Away / No Time To Waste (Vocal By Melis Sökmen) (12 saat önce)
Huseyin Karadayi - Eyes Don't Lie (Duet By Enoi & Funky C) (12 saat önce)
Huseyin Karadayi - This Way (Usy Groove) (12 saat önce)

Ne Okuyorum?


Haftanın Sözü


"Sukûnetim asaletimdendir;
Lâkin her lâfa verilecek bir cevabım var.
Bir bakarım lâf lâfmı diye,
Birde bakarım söyleyen adammı diye.."

Mevlânâ Celaleddin-i Belhi Rumi
(1207-1273)

Adanmış Hayatlar

"Zaten aşklar hep yalan dolan,
Sonu hep acı hüsran.
Bize her sevdadan geriye kalan
Sadece Galatasaray..
"

Son Dakika

İstanbul'da Hava

ISTANBUL

Ziyaretçi Sayısı

Ziyaretçi Sayısı