カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

自身のIPアドレスを取得

using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Net;


public static int check_ip()
{
  string hostname;     // ホスト名
  IPHostEntry ipentry; // IPエントリ(IPアドレスリスト)
  IPAddress ipaddr;    // IPアドレス
  string ipaddress;    // IPアドレス
  string[] IP_ARRAY;
  int n;

  ipaddress = "0.0.0.0";

  try
  {
    // ホスト名を取得
    hostname = Dns.GetHostName();

    // ホスト名からIPアドレスを取得する
    ipentry = Dns.GetHostEntry(hostname);

    // windows7だと、IPアドレスがインデックス「2」のため
    // ループで取り出す
    for (int i = 0; i < ipentry.AddressList.Length; i++)
    {
      // Regex : 正規表現
      Regex myRegex = new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$");
      // 対象文字列が存在するか?
      if (myRegex.IsMatch(ipentry.AddressList[i].ToString()))
      {
        ipaddr = ipentry.AddressList[i];
        ipaddress = ipaddr.ToString();
        break;
      }
    }
  }
  catch(Exception ex)
  {
    MessageBox.Show(ex.Message);
    Application.Exit();
  }

  // ネットワーク識別子を取得
  IP_ARRAY = ipaddress.Split('.');

  // ネットワーク識別子を返す
  n = int.Parse(IP_ARRAY[2]);

  return n;
}
3,671 views

デフォルトゲートウェイのアドレスを取得する

要参照設定

System.Net.NetworkInformation;

public static void getDefaultGateway()
{
 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

 foreach (NetworkInterface adapter in adapters)
 {
  IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
  GatewayIPAddressInformationCollection addresses =
   adapterProperties.GatewayAddresses;
  if (addresses.Count > 0)
  {
   foreach (GatewayIPAddressInformation address in addresses)
   {
    Console.WriteLine(address.Address.ToString());
   }
  }
 }
}

adapter.Name
ネットワークアダプタの名前を取得
例)ローカル エリア接続

adapter.Id
ネットワークアダプタのID
例){A32F1F13-1CBD-4300-ADE6-D3AEA1426A52}

adapter.OperationalStatus
ネットワーク接続の現在の操作状態を取得
例)Up

adapter.Speed
ネットワークインターフェイスの速度を取得
例)100000000

adapter.Description
インターフェイスの説明を取得
例)Broadcom NetXtreme 57xx Gigabit Controller – パケット スケジューラ ミニポート

11,906 views

Windows7 administratorでログイン

Windows7にてAdministratorでログインするには。

[管理ツール]->[コンピュータの管理]->[ローカルユーザーとグループ]->[ユーザー]を開き、
Administratorのプロパティで、「アカウントを無効にする」のチェックを解除する。

もしくは、以下のコマンドを実行

net user administrator /active:yes
2,592 views

ACCESS コントロールを追加できなくなった時

テーブルのフィールドと同様で、コントロールもカウントされているらしく
追加できなくなることがある。
そのとき、フォーム又はレポートの名前を変更して再度追加してくださいのようなメッセージが出るが、最適化しても追加はできない。

【解決方法】
新規にmdbを作成し、インポートし直す

2,456 views

Windows Searchを無効化

知らぬ間に検索方法が変更されていた。
HDDのインデックスを作成するなど、多大な負荷も予想されるので無効化する方法を調べたらすぐ出てきた。

[コントロールパネル]->[管理ツール]->[サービス]->[Windows Search]を停止、「無効」に変更。
更に、[スタートボタン]->[プログラム]->[スタートアップ]に入ってる検索クライアントも削除してタスクトレイにあるプログラムも右クリックで終了。

そして更に通常の検索コンパニオンを元通りにするため、レジストリを変更。
「HKEY_CURRENT_USER\Software\Microsoft\Windows Desktop Search\DS」の「ShowStartSearchBand」の値を「0」にすればOK。

2,898 views