C# でコンピューター名を取得する

Syed Hassan Sabeeh Kazmi 2023年10月12日
  1. Environment.MachineName プロパティを使用して C# でコンピューター名を取得する
  2. C#GetHostName() メソッドを使用してコンピューター名を取得する
  3. "COMPUTERNAME" 文字列を System.Environment.GetEnvironmentVariable() メソッドに渡し、C# でコンピューター名を取得する
  4. C#SystemInformation.ComputerName プロパティを使用してコンピューター名を取得する
C# でコンピューター名を取得する

開発者が C# でコンピューター名を取得するには、さまざまな方法があります。 コンピュータ名の専門用語は、ネットワーク経由で通信するために Windows によって割り当てられる NetBIOS 名です。

C# でコンピューター名を検索して取得するには、4つの異なる方法があります。

Environment.MachineName プロパティを使用して C# でコンピューター名を取得する

Environmentクラスは、コンピューター名など、さまざまなオペレーティング システム関連の情報を取得するのに役立ちます。 MachineName プロパティは Environment クラスで事前に定義されており、コンピューター名を取得できます。

Environment.MachineName メソッドは、コンピューター名を含む文字列を返します。 このプロパティがコンピューターの名前を取得しない場合、InvalidOperationExceptionがスローされます。

using System;

class GetComputerName {
  static public void Main() {
    string ComputerName = Environment.MachineName;
    Console.WriteLine("Computer Name: " + ComputerName);
  }
}

Environment クラスは System.Object から継承され、実行可能な C# コードの現在のプラットフォームに関する情報を提供します。

C#GetHostName() メソッドを使用してコンピューター名を取得する

Dns クラスの GetHostName() メソッドは System.Net 名前空間にあります。 System.Net 名前空間を使用し、GetHostName() メソッドを定義してコンピューター名を取得します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;

namespace GetComputerName {

  class ComputerName {
    static void Main(string[] args) {
      string Name = Dns.GetHostName();
      Console.WriteLine("Computer Name: " + Name);
    }
  }
}

コンピュータの NetBIOS 名は 15 文字に制限されており、この方法で完全なコンピュータ名を取得できます。 ローカル コンピューター名を解決するときに、SocketException エラーが発生する可能性があります。

"COMPUTERNAME" 文字列を System.Environment.GetEnvironmentVariable() メソッドに渡し、C# でコンピューター名を取得する

Environment.GetEnvironmentVariable() メソッドは、C# で現在のユーザーのコンピューター名を取得するのに役立ちます。 環境変数には、Windows ディレクトリのパスが含まれています。

using System;

namespace GetComputerName {

  class ComputerName {
    static void Main(string[] args) {
      string Name = Environment.GetEnvironmentVariable("COMPUTERNAME");
      Console.WriteLine("Computer Name: " + Name);
      Console.ReadLine();
    }
  }
}

GetEnvironmentVariable() メソッドは、EnvironmentVariableTarget.Processtarget 値を指定して GetEnvironmentVariabble(String, EnvironmentVariableTarget) メソッドを呼び出すことと同じです。

環境変数名は、Windows では大文字と小文字が区別されませんが、macOS と Linux では非常に重要で機密になる可能性があります。

C#SystemInformation.ComputerName プロパティを使用してコンピューター名を取得する

15 文字に制限されたローカル コンピュータの NetBIOS 名を取得します。 ネットワーク上の他のユーザーに表示される現在のコンピューターのコンピューター名を取得します。

using System;
using System.Drawing;
using System.Windows.Forms;

class ComputerName {
  public static void Main() {
    Console.WriteLine("Computer Name: " + SystemInformation.ComputerName);
  }
}

ComputerName メソッドは、すべてのプロジェクト ファイルを含む Solution ExplorerSystem.Drawing および System.Windows.Forms 名前空間を挿入した後にのみ実行可能です。

結論として、これらは C# でコンピューター名を取得する 4つの方法です。 各メソッドは一意であり、特定の状況または条件下で実行できます。

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub