- PR -

VB6でDOSコマンドの実行結果(標準出力)を取得したい!

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 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をダイレクトにできればわざわざゴミファイルを生成しなくて済むので投稿させていただきました。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-04-22 15:23
GetAdaptersInfo(AdapterInfoBuffer(0), AdapterInfoSize)

こんなん出ましたけど・・・
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-04-22 15:37
多分、Win32APIを直接叩かないと無理でしょう・・・。
(Win32APIを使ってもできるかどうか不明ですが
で、そこまでやるなら、

引用:

コブラさんの書き込み (2004-04-22 15:23) より:
GetAdaptersInfo(AdapterInfoBuffer(0), AdapterInfoSize)




を使った方がストレートでスマートな気がします。
FukuRiko
会議室デビュー日: 2004/04/22
投稿数: 9
投稿日時: 2004-04-22 15:46
どうしても、DOSからリダイレクトしたいなら...
こんなフリーソフトもありますよ。

ATLDos (DOSコマンドの実行結果を文字列で取得できる ActiveX コンポーネント)
http://www.vector.co.jp/soft/win95/prog/se222454.html
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2004-04-22 17:54
 たくさんのアドバイスありがとうございました。
ATLDos は斬新で気に入りました。これ簡単でいですね。。

 
1

スキルアップ/キャリアアップ(JOB@IT)