こんばんは
会社にてLAN回線が2つあります。
社内LANとインターネットです。
それぞれDHCPより自動取得しています。
社内LANの時はプロキシを使いインターネットの時は
空白にしています。
それぞれを切り替えた時にプロキシを一回一回設定するのは
大変なので自動で切り替えしようとしています。
インターネットセットオプションは動いていますが
IPが変わった時に検出で悩んでいます。
Winsock1.localipでIP取得して5秒ごとにIPを見に行って
変化したらプロキシの設定を変えるようにしています。
ところがいったんIPを取得するとキャッシュに残ってるらしく(推測)
IPが変わっているのに取得されるIPは変わりません。
しょうがないので違うEXEでIPをテキストに出して
変化を見ていますが5秒ごとに砂時計がでて
全然スマートじゃないです
なにか良い方法はないでしょうか?
よろしくお願いします。
キャッシュに残っているとすれば、キャッシュを削除してからアクセスすればOKだと思われ
そんなAPIがあるので検索してけれ
※原因がそれでなければ他の視点で・・・
こんにちは
通ってみたさん
早速の御助言ありがとうございます。
キャッシュクリアやってみましたが
残念ながら結果は同じでした。
Winsock1.closeとかも書いてみたのですが
変わらず。。。
なにか取得方法に問題あるのでしょうか?
よろしくお願いします。
タイマーのなかのコードはこんな感じです。
iptxt = Left(Winsock1.LocalIP, 3)
MsgBox iptxt
If a = iptxt Then
Exit Sub
End If
a = iptxt
If iptxt = "172" Then
Call Command1_Click
Else
Call Command2_Click
End If
GetIpAddrTable()
NotifyAddrChange()
API 等でどうでしょ。
ななし様
御助言ありがとうございました。
GetIpAddrTable()で完璧にうまくいきました。
一応APIはWebで一通り見たつもりだったのですが
こんないい命令もあるんですね
今回はありがとうございました。
ツイート | ![]() |