- - PR -
VB6でDOSコマンドの実行結果(標準出力)を取得したい!
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-22 15:08
お世話になります。Win2000とVB6を使用しております。 VB.NETではどうやらできそうなのですが、VB6でDOSコマンドの実行結果(標準出力)を取得したいと思っております。何卒ご教授願います。
具体的に今やりたいことを挙げますと、指定したホスト名のMACアドレスを取得したいのです。で、今苦し紛れにやろうとしておりますのが 1.Shell関数でDOSコマンド nbtstat -a REMOTE-PC-NAME > C:\nbtstat.txt を実行して一旦ファイルに出力する。 2.そのファイルをいちいちオープンして "MAC Address = " の次の文字列を取得する。 という方法でやっております。 1,2をダイレクトにできればわざわざゴミファイルを生成しなくて済むので投稿させていただきました。 | ||||
|
投稿日時: 2004-04-22 15:23
GetAdaptersInfo(AdapterInfoBuffer(0), AdapterInfoSize)
こんなん出ましたけど・・・ | ||||
|
投稿日時: 2004-04-22 15:37
多分、Win32APIを直接叩かないと無理でしょう・・・。
(Win32APIを使ってもできるかどうか不明ですが ) で、そこまでやるなら、
を使った方がストレートでスマートな気がします。 | ||||
|
投稿日時: 2004-04-22 15:46
どうしても、DOSからリダイレクトしたいなら...
こんなフリーソフトもありますよ。 ATLDos (DOSコマンドの実行結果を文字列で取得できる ActiveX コンポーネント) → http://www.vector.co.jp/soft/win95/prog/se222454.html | ||||
|
投稿日時: 2004-04-22 17:54
たくさんのアドバイスありがとうございました。
ATLDos は斬新で気に入りました。これ簡単でいですね。。 |
1