C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 62 を表示中)
■35519 / )  Re[3]: C#でコマンド
□投稿者/ ちゃっぴ (233回)-(2009/05/07(Thu) 16:09:40)
ちゃっぴ さんの Web サイト
Windows の世界においては commands 出力結果を加工して利用するのは基本的に NG ですね。

その理由はいろいろあります。

・ Commands 出力結果の互換性を Microsoft が保証していない
Windows の互換性維持は API level までです。
事実、Windows Vista では commands の出力結果の多くが日本語化されたおかげでこけるものが多いですね。

・ Console Applicaion の仕様がめちゃくちゃ
仕様改変とかいろいろあったり、UNIX の command と下手に互換性を取ろうとしたおかげで、Windows の console applications はもはや無法地帯です。

今回質問を行った本当の目的は、おそらく IP Address を取得したいということだと思いますが、ipconfig.exe を利用しなくても取得できます。他の方法としては

・ WMI
ipconfig.exe で取得できる内容は、Win32_NetworkAdapterConfiguration で取得できます。
ただし、複数の IP addresses が設定されている場合、実際に通信で利用される IP address は特定できないので注意が必要です。

・ WinSock
TCP connection を張っている状態であれば、getsockname function を呼び出すことで確実にその通信で利用している IP address を取得することが可能です。

返信 編集キー/


管理者用

- Child Tree -