【问题标题】:To retrieve the operating system in c#在 C# 中检索操作系统
【发布时间】:2014-05-25 09:40:13
【问题描述】:

除了 Environment.OsVersion 是否还有其他属性可以在 C# 中检索操作系统,因为此属性在 Mac OS 的情况下无法确定?

【问题讨论】:

  • 这是一个 asp.net 网站吗?
  • @theedam 因为他/她已经标记了 mono,我不这么认为。它可能是一个使用单声道在 MacO 上运行的应用程序。
  • 您使用的是 Mono,不是吗?
  • @huMptyduMpty 我认为任何答案都不适用于 MacOS

标签: c# asp.net-mvc


【解决方案1】:

你可以这样做(根据 Mono Wiki

string msg1 = "This is a Windows operating system.";
string msg2 = "This is a Unix operating system.";
string msg3 = "This is a OSX operating system.";
string msg4 = "ERROR: This platform identifier is invalid.";
OperatingSystem os = Environment.OSVersion;
PlatformID pid = os.Platform;
switch (pid) 
{
    case PlatformID.Win32NT:
    case PlatformID.Win32S:
    case PlatformID.Win32Windows:
    case PlatformID.WinCE:
        Console.WriteLine(msg1);
     break;
    case PlatformID.Unix:
        Console.WriteLine(msg2);
     break;
    case PlatformID.MacOSX:
        Console.WriteLine(msg3);
     break;
    default:
        Console.WriteLine(msg4);
     break;
}

如果您使用的是 asp.net,则可以使用 javascript 来检测操作系统

var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
document.write('Your OS: '+OSName);

【讨论】:

  • 但我特别想要Mac Os,因为任务是在页面中显示警告消息以防Mac Os。
  • 抱歉,如果您查看 mono Wiki,您会发现只有一个选项可以检测 MAC OS 系统...
  • 这正是 Tinwor 为您提供的。您还有其他问题吗?您最初提出的问题已经得到肯定的回答。
  • 当我使用这些语句时,它会在“导航器”中显示错误。这是用户定义的变量还是一些预定义的属性?
  • @user3512003 这是一个 js 属性
猜你喜欢
  • 2011-01-27
  • 2016-03-13
  • 1970-01-01
  • 1970-01-01
  • 2010-10-03
  • 2012-02-05
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
相关资源
最近更新 更多