ネットワークのスピード変更

解決


コバ  2004-05-17 18:27:09  No: 83404  IP: [192.*.*.*]

ネットワークの設定をVBで設定したいの
ですが、どなたかやり方をご存じありま
せんか?(コンパネから設定できるので、
APIを使えばできるのでは?っと思ってい
るのですが。。。)

1.やりたいこと
  (1)ネットワークアダプタを選択する
  (2)選択したネットワークアダプタの
        メディアタイプを切り換える(下記3つ)
      a.HardWare Default
      b.100Mb Full Duplex
      c.100Mb Full Duplex

2.使用環境
  (1)OS  W2k SP4/XP SP1
  (2)言語  VB6 SP5

編集 削除
ねろ  2004-05-18 22:07:41  No: 83405  IP: [192.*.*.*]

レジストリを書き換えることになります。
レジストリエディターで「値」にチェックを入れ
"DuplexMode"と検索してみて下さい。それがDuplexModeの設定です。
実際にコンパネから変更してみて確認してみるといいでしょう。
設定の値は、その下のサブキーの
Ndi\params\DuplexMode\enumの値を設定します。

設定は
1、Auto Mode
2、10 Half Mode
3、10 Full Mode
4、100 Half Mode
5、100 Full Mode
等となります。

ネットワークカードが複数枚有る場合は、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
の下の番号のサブキーの中で、ServiceNameを取得して、最初に記述したDuplexModeと同じ
キーの中のNetCfgInstanceIdがServiceNameが同じ物がそのカードの設定となります。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200404/04040014.txt
でIPアドレスの設定方法を書きましたが、書き込み方法などはこれを参考にしてください。

編集 削除
コバ  2004-05-21 09:17:09  No: 83406  IP: [192.*.*.*]

ねろさんへ
レス有り難うございます。
レジストリを使うとうまく出来そうですネ(^^)
早速やってみます。

編集 削除
コバ  2004-06-16 20:47:37  No: 83407  IP: [192.*.*.*]

ねろさんへ
コバです。  何とかもう一歩のところまでこぎ着けました。
もう少し助言を頂きたい。

すったもんだした結果、VBでDuplexModeの変更が出来ました。
VBで変更した結果が、コンパネにも反映されました。
しかし、ネットワークカードには反映されていませんでした。
レジストリが変わっただけで、接続状態をモニタした結果、
ネットワークカードは、VBで操作する前のモードのままでした。

コンパネでDuplexModeを変更後にOKボタンを押しますが、この
OKボタンを押したときに処理している内容を実装しないといけない
ようです。  どのAPIを使えばよいかご存じですか?

編集 削除
XP  2004-06-16 21:40:25  No: 83408  IP: [192.*.*.*]

>ネットワークカードは、VBで操作する前のモードのままでした。

PCを再起動しないと反映されないのでは?

編集 削除
コバ  2004-06-17 05:13:47  No: 83409  IP: [192.*.*.*]

>PCを再起動しないと反映されないのでは?
確かにWin98以前だとそうですが、対象としているW2Kや
XPはコンパネで設定変更後、OKボタンをクリックすると
LANドライバに即反映されるので。。。。。

設定変更した内容でLANドライバをリフレッシュする
APIがあるのでは。。。。っと思っています。

編集 削除
コバ  2004-06-28 10:54:16  No: 83410  IP: [192.*.*.*]

C#でLAN接続の有効・無効化ソフトがあったので、それと
組み合わせたらできました。
いろいろとお世話になりました。

編集 削除