• 締切済み

ipconfigの表示について

こんにちは。 まだVBをはじめたばかりのものなのでお手柔らかにお願いします。 ipconfigなのですが、CMDでなく自分で作成したVBの中で結果を表示することはできないのでしょうか? 知っていられる方、よろしくお願いします。

みんなの回答

回答No.4

NO1の方のソースをVB2008用に移植しました。 Sub Test() Dim WSH As Object Dim wExec As Object Dim strCmd As String, Result As String WSH = CreateObject("WScript.Shell") strCmd = "ipconfig" wExec = WSH.Exec("%ComSpec% /c " & strCmd) Do While wExec.Status = 0 System.Windows.Forms.Application.DoEvents() Loop Result = wExec.StdOut.ReadAll MsgBox(Result) wExec = Nothing WSH = Nothing End Sub これだと黒いDOS画面が一瞬出てきます。 それが嫌なら、こちらで 一長一短がありますが sub test2 Dim sFileName As String = System.IO.Path.GetTempFileName() Dim WSH As Object = CreateObject("WScript.Shell") Dim strCmd As String = "ipconfig" WSH.Run("%ComSpec% /c " & strCmd & ">" & sFileName & " 2<&1", 0, True) WSH = Nothing Dim ret As String = String.Empty If IO.File.Exists(sFileName) Then Using sr As New IO.StreamReader(sFileName, System.Text.Encoding.Default) ret = sr.ReadToEnd End Using IO.File.Delete(sFileName) End If MsgBox(ret) end sub

回答No.3

VBにそれほど経験がなくても何らかの言語ではそれなりに経験があると仮定させてもらうよ。(Q2237832,2006-06-25) http://bytes.com/forum/thread267946.html を参考にしてコンソールアプリケーションとして作ってみた。 '============================================== Option Explicit On Option Strict On Option Compare Binary Option Infer Off Class Q4262998A Shared Sub Main() Dim process As System.Diagnostics.Process Dim output As String process = new Process() process.StartInfo.UseShellExecute = false process.StartInfo.RedirectStandardOutput = true process.StartInfo.FileName = "ipconfig.exe" process.Start() process.WaitForExit() output = process.StandardOutput.ReadToEnd() System.Console.WriteLine(output) System.Console.ReadKey(true) End Sub End Class '============================ 'ところで,俺はあまりこのコードを好ましく思ってない。 '.NETやJavaの良さの一つとして「移植性」ってのがあると思うのだが 'ipconfig.exeはWindowsにしかないかもしれないからだ。 '========================== 'ipconfigそのものの実行結果は取れないだろうが '場合によってはSystem.Net.NetworkInformation名前空間のクラスを使うかも。 '解説はしない。

  • diashun
  • ベストアンサー率38% (94/244)
回答No.2

diashun です。 当方の環境は VB6.0(SP6)です。 申し訳ありませんが、VB2008 Express Editionでの実行結果については検証できません。 有識者のご回答を期待しましょう。

  • diashun
  • ベストアンサー率38% (94/244)
回答No.1

diashunです。 WSH(Windows Scripting Host)のWshScriptExecオブジェクトが持つExecメソッドが利用できます。 FormにCommandボタンを貼り、以下の以下のコードを実行してみてください。 ここでは、取得したコンソールの表示内容をメッセージボックスに表示するようにしていますが、どういう形で加工するかは、ご自由です。 なお、WSHについては専門のサイトを参照して下さい。 'ここからコピー*********************************************** Option Explicit Private Sub Command1_Click() Dim WSH, wExec, strCmd As String, Result As String Set WSH = CreateObject("WScript.Shell") strCmd = "ipconfig" Set wExec = WSH.Exec("%ComSpec% /c " & strCmd) Do While wExec.Status = 0 DoEvents Loop Result = wExec.StdOut.ReadAll MsgBox Result Set wExec = Nothing Set WSH = Nothing End Sub 'ここまでコピー***********************************************

kaiketugoo
質問者

補足

ありがとうございます。 上のコードをコピーした上、ボタンもつくりましたが エラーが発生して実行できません。 使用しているのは、VB2008 Express Editionです。

関連するQ&A

  • ipconfig

    このたびプロバイダをかえて光にしたのですが、 cmdとうってipconfigとうっても 認識されません とエラーがでます。以前はIPアドレスなど表示されてました。なぜでしょうか?何かインストールしないといけないとかでしょうか?

  • SSIか何かで、相手のPCのipconfigを表示させる方法?

    相手が、そのHPを見たときに、その相手のPCの ipconfigの内容をHPに表示させる方法って何か ありますでしょうか? SSIとか・・・ コマンドプロンプトを自動的に実行させて 表示させるとか・・・・? 自分でやってもらったほうが早いんでしょうが、相手が CMDの操作に全くの不慣れなので、何らかの形で表示させたのを 読み上げてもらうしかないんです・・・(笑) よろしくです。

  • ipconfigの表示が一瞬のみになりました

    いつも勉強させていただいております。 質問:しばらくぶりに[ipconfig /all]を「ファイル名を指定して実行」から見ようとした所、「ipconfigの表示が一瞬表示するだけで すぐ消える状態になりました。以前は閉じるまだ表示していましたが 前回は半年くらい前なので何時の時点で変になったか不明です。 PCは、Windoes XP Homeです。 よろしくお願いします。

  • ipconfigコマンドの実行結果の表示時間が素早すぎて結果を目視でき

    ipconfigコマンドの実行結果の表示時間が素早すぎて結果を目視できない件。 QNo.5975169で、回答者1の方から教えてもらった方法でipconfigというコマンドを使いました。結果が出ているようなのですが、0.1秒くらいの速さで瞬間的に何かウィンドウが画面上に出るだけですので、内容を知ることができません。 この表示を長時間させるにはどうしたら良いですか? よろしくお願いします。

  • ipconfigについて

    ファイル名を指定して実行にipconfigを入力すると一瞬だけ表示されるだけで消えてしまいキチンと表示されません。

  • ダブルクリックしてipconfigを実行させたい

    ファイルをダブルクリックして コマンドプロンプトに「ipconfig」を入れた結果を表示させる方法を教えてください。 テキストファイル(だったか忘れましたが)に 「ipconfig」と入力して(他にも何か入力したかも)保存して閉じて、 そのファイルをダブルクリックすると コマンドプロンプトが経ちあがり、ipconfig+エンターを押した結果が表示されるようにしたいのですが やり方を忘れました。 ご回答よろしくお願いします。

  • ipconfigができなくなりました。

    ipconfigが急にできなくなりました。 たぶん何かの設定だと思うのですが分る方いたらお願いします。 ※インターネット、メール等は問題なく動作しております。 ----DOS画面---- C:\>ipconfig /all 'ipconfig' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ------------ 以上、よろしくお願いします。

  • ipconfigでIPが表示されない

    あまり問題ではないのですが気になったので質問させていただきたいです。 ipconfig /all を実行した際Ipアドレスがまったく表示されないのに インターネット等ネットワークに接続できます。 表示は下記のとおりです。 (IP Addres・・・・・・・・・:) 他のDNSやゲートウェイ等は表示されていますが。 通常Ipが取得できていなければネットワークに接続できないと思うのですが これはどうしてでしょうか? 凄く気になったので質問させていただきました。 よろしくお願いします。

  • ipconfigにてデフォルトゲートウェイが2つ表示される

    まじめまして。 ディフォルトゲートウェイについての質問です。 コマンドプロンプトよりipconfigにてディフォルトゲートウェイのアドレスを確認したところ以下のように2つ表示されました。 【ディフォルトゲートウェイ】 192.168.0.1 192.168.0.87 なぜ2つディフォルトゲートウェイが表示されるのかわかりません。 どなたかご教授して頂けますでしょうか。 よろしくお願い致します。

  • コマンドプロンプト ipconfigについて

    コマンドプロンプト ipconfigについて こんばんわ、どなたか教えてください。 コマンドプロンプトで「ipconfig /displaydns」と入力すると、 怪しげな名前がたくさん表示されました。 これは何ですか?リファレンスを読むと「DNSクライアントキャッシュ」と 書いてあります。 「ipconfig /flushdns」を入力しても消えません(涙) 消し方など教えてくださいませ。