Reference: http://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx
วิธีดูเวอร์ชั่นของ .Net Framework ว่ามีกี่เวอร์ชั่นที่ install ลงบนเครื่องของเรา สามารถเขียนโปรแกรมไว้ดูได้ง่ายๆเลยครับ โดยขั้นแรกต้องรู้จัก Registry ของ Microsoft ก่อน ซึ่งสามารถเข้าไปโดยเรียก Run ขึ้นมาแล้วพิมพ์ regedit.exeกด Enter แล้วเข้าไปที่
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP ซึ่งจะเห็นเรียงกันลงมาตามทั้งหมด
คราวนี้ถึงเวลาเขียนโปรแกรมอ่านค่า registry กันมั้ง โดยเราจะอ่านค่าทั้งหมดที่เห็นใน sub folder ของ NDP แล้วเลยเอาตัวที่ขึ้นต้นด้วย V เพื่อมาแสดงลงใน ListView ซึ่งใช้โค๊ดดังนี้
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,
RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\"))
{
foreach (string versionKeyName in ndpKey.GetSubKeyNames())
{
if (versionKeyName.StartsWith("v"))
{
RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName);
string name = (string)versionKey.GetValue("Version", "");
string sp = versionKey.GetValue("SP", "").ToString();
string install = versionKey.GetValue("Install", "").ToString();
if (install == "") //no install info, ust be later
{
ListViewItem item = new ListViewItem(" " + versionKeyName + " " + name, GetImageVersion(versionKeyName));
listView1.Items.Add(item);
Console.WriteLine(versionKeyName + " " + name);
}
else
{
if (sp != "" && install == "1")
{
ListViewItem item = new ListViewItem(" " + versionKeyName + " " + name + " SP" + sp, GetImageVersion(versionKeyName));
listView1.Items.Add(item);
Console.WriteLine(versionKeyName + " " + name + " SP" + sp);
}
}
if (name != "")
{
continue;
}
foreach (string subKeyName in versionKey.GetSubKeyNames())
{
RegistryKey subKey = versionKey.OpenSubKey(subKeyName);
name = (string)subKey.GetValue("Version", "");
if (name != "")
sp = subKey.GetValue("SP", "").ToString();
install = subKey.GetValue("Install", "").ToString();
if (install == "") //no install info, ust be later
{
ListViewItem item = new ListViewItem(" " + versionKeyName + " " + name ,0);
listView1.Items.Add(item);
Console.WriteLine(versionKeyName + " " + name);
}
else
{
if (sp != "" && install == "1")
{
ListViewItem item = new ListViewItem(" " + subKeyName + " " + name + " SP" + sp, -1);
listView1.Items.Add(item);
Console.WriteLine(" " + subKeyName + " " + name + " SP" + sp);
}
else if (install == "1")
{
ListViewItem item = new ListViewItem(" " + subKeyName + " " + name , -1);
listView1.Items.Add(item);
Console.WriteLine(" " + subKeyName + " " + name);
}
}
}
}
}
}
ตัวโปรแกรมสมบูรณ์ หาได้ที่นี้ครับName : NetFrameworkWatcher
Version : 1.0
Type : Freeware
Dwonload : ที่นี้
รับเขียนเว็บไซด์ เขียนระบบ .NET PHP ติดต่อ ชิน profrezz@gmail.com

ไม่มีความคิดเห็น:
แสดงความคิดเห็น