惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
爱范儿
爱范儿
小众软件
小众软件
K
Kaspersky official blog
P
Proofpoint News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
V
Vulnerabilities – Threatpost
博客园_首页
Microsoft Security Blog
Microsoft Security Blog
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX
C
Check Point Blog
S
Schneier on Security
P
Palo Alto Networks Blog
IT之家
IT之家
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
Project Zero
Project Zero
Y
Y Combinator Blog
V
Visual Studio Blog
Simon Willison's Weblog
Simon Willison's Weblog
T
Threatpost
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
S
Securelist
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理

博客园 - yufun

Windows GUI自动化测试技术的比较和展望 双屏(Daul Monitor)很爽 ChromePlus很好用,已经替代我的Firefox了 很久没来了,更新一下状态 小议云计算和Live Mesh、网络存储 [转载] 我的测试观点与经验 获取当前执行的函数(Testcase)名称 C#中三种截屏方式总结 搬家完成 你是否知道-你可把代码段拖拽到Toolbox里边 跟UI自动化测试有关的技术 转载:关于开发和测试 转载:再谈UI自动化测试 转载:一个UI自动化的小例子 转载:用一个小例子来说明手工测试,自动化测试,系统命令,编程语言,API的关系 各类搜索网站 在自动化测试中,如果控件不能识别,你会怎么做? 在C#中如何模拟鼠标键盘操作 - yufun - 博客园 在C#中调用API进行截屏
获取当前操作系统的版本 - yufun - 博客园
yufun · 2009-01-20 · via 博客园 - yufun

获取当前操作系统的版本

2009-01-20 14:46  yufun  阅读(628)  评论()    收藏  举报

OperatingSystem os = Environment.OSVersion;
switch (os.Platform)
{
    case PlatformID.Win32NT:
        switch (os.Version.Major)
        {
            case 3:
                return "Windows NT 3.51";
            case 4:
                return "Windows NT 4.0";
            case 5:
                switch (os.Version.Minor)
                {
                    case 0:
                        return "Windows 2000";
                    case 1:
                        return "Windows XP";
                    case 2:
                        return "Windows 2003";
                    default:
                        return "";
                }
            case 6:
                return "Windows Vista";
            default:
                return "";
        }
    case PlatformID.Win32S:
        return "";
    case PlatformID.Win32Windows:
        switch (os.Version.Minor)
        {
            case 0:
                return "Windows 95";
            case 10:
                if (os.Version.Revision.ToString() == "2222A")
                {
                    return "Windows 98 SE";
                }
                else
                {
                    return "Windows 98";
                }
            case 90:
                return "Windows Me";
            default:
                return "";
        }
    default:
        return "";
}

第二种比较简单的:

string rootKey = "HKEY_LOCAL_MACHINE";
string subKey = rootKey + @"\SOFTWARE\Microsoft\Windows NT\CurrentVersion";
object value = Registry.GetValue(subKey, "ProductName", null);
if (value != null)
{
    return value as string;
}
else
{
    return "";
}