最近寫寫一個工具,需要識別當前系統。
首先,找到GetVersionEx函數,能識別win7和win8。但win10需要修改manifested,才能識別,具體參考如下鏈接:
http://blog.csdn.net/k1988/article/details/47614529
實際放到不同系統測試,發現有概率識別系統錯誤,后來沒糾結找原因。直接用另外一種方法。
第二種方法,使用Win32_OperatingSystem ,代碼如下
ManagementObjectSearcher sercher = new ManagementObjectSearcher("select * from Win32_OperatingSystem");foreach (ManagementObject mo in sercher.Get()){// MessageBox.Show(mo["Caption"].ToString() + "\n" + mo["OSArchitecture"].ToString() + "\n" + mo["Version"].ToString());verson1 = mo["Version"].ToString();}
再查表,即可.這個類還有其他參數,挺有用的。
Operating system | Version number | dwMajorVersion | dwMinorVersion |
Windows?10 | 10.0 | 10 | 0 |
Windows?8.1 | 6.3 | 6 | 3 |
Windows?8 | 6.2 | 6 | 2 |
Windows?7 | 6.1 | 6 | 1 |
Windows Server?2008 | 6.0 | 6 | 0 |
Windows Server?2003 | 5.2 | 5 | 2 |
Windows?2000 | 5.0 | 5 | 0 |
鏈接:
http://www.cnblogs.com/huangenai/p/5976278.html
http://blog.csdn.net/k1988/article/details/47614529
https://msdn.microsoft.com/en-us/library/aa394239(v=vs.85).aspx