- PR -

VB-Script と VB からの Object の扱いって違うの?

投稿者投稿内容
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2007-05-02 21:38
ちゃっぴ殿

いろいろ試していただき、ありがとうございます。

なんか、だんだん訳がわからなくなってしまいました。

こちらでは、Count とループの回数が一致してたはずなのに、
ちゃっぴさんは、違ったのか???と思って試してみたのですが、、、


機械1( XP SP1 )
  VB2003:  Count = 1, ループで回った回数 = 1
  VBScript: Count = 5, ループで回った回数 = 5

機械2( XP SP2 )の VB .Net
  VB2003:  Count = 2, ループで回った回数 = 7
  VBScript: Count = 7, ループで回った回数 = 7


ん〜、とりあえず、機械1と、機械2の違いがよくわかりませんが、
とりあえず、OS のサービスパックは違います。

なんか、こんなにいろんな挙動をするものは、たしかに、
避けた方が賢明かもしれないですね。

ちなみに、こちらで試したコードです。( VB2003 )

コード:

Sub a()
Dim Item
Dim NetSharingManager
Dim Connection
Dim Connections
Dim objNCProps
NetSharingManager = CreateObject("HNetCfg.HNetShare.1")
Connections = NetSharingManager.EnumEveryConnection
Console.WriteLine("C:" & CStr(Connections.Count))

For Each Item In Connections
Connection = NetSharingManager.INetSharingConfigurationForINetConnection(Item)
objNCProps = NetSharingManager.NetConnectionProps(Item)
Console.WriteLine(objNCProps.Name)
Next
End Sub




[ メッセージ編集済み 編集者: わちゃ 編集日時 2007-05-02 21:38 ]
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-05-02 23:16
行いたい処理は何なのでしょうかね?
ICS (Internet Connection Sharing) ではなく Firewall?

であるならば、Windows XP SP2 および Windows Server 2003 SP1 以降であるならば、Internet Connection Firewall API ではなく Windows Firewall API を使うべきでしょう。

Windows Firewall Interfaces
_________________
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2007-05-03 00:04
行いたい処理は、Firewall なんですが、残念ながら対象は、XP SP1 なんです。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-05-03 07:14
どこまで細かい設定が出来るかわからないけど、netsh コマンドをバッチで流した方が話が早くありませんか?
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2007-05-03 10:53
ありがとうございます。

とりあえず、会社に行ったらやってみます。
ただ、いくつかインターネットで調べてみたのですが、SP2 以降対応のように
書かれていたので、SP1 で、どこまでできるかですね。後日やってみます。
わちゃ
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 162
お住まい・勤務地: 東京
投稿日時: 2007-05-07 10:36
さて、やってみたのですが、、、

XP SP1 では、netsh コマンドの内容がいくつか違っているみたいで、できないみたいでした。

とりあえず、もうちょっと他の逃げ方を考えてみます。

アドバイスありがとうございました。



[ メッセージ編集済み 編集者: わちゃ 編集日時 2007-05-07 10:37 ]

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