InternetAttemptConnectについて

解決


じろん  2002-11-27 16:14:06  No: 76465  IP: [192.*.*.*]

はじめまして
以前の質問にもあったのですが
■ 接続を確認
と同じ現象が起こっています・・・

ソースは
Private Sub Command1_Click()
    Dim ERROR_SUCCESS As Long
    
    MsgBox ERROR_SUCCESS
    If InternetAttemptConnect(0) = ERROR_SUCCESS Then
        Call MsgBox("接続に成功しました(接続を確認しました)(^^)v")
    Else
        Call MsgBox("接続に失敗しました(接続されていません)(ToT)")
    End If
End Sub
です
上記ソースで間違っていますか?
参考URLは
http://www.geocities.co.jp/SilkRoad/4511/vb/wininet.htm
を使用してます
宜しければご教授ください_(._.)_

Dim ERROR_SUCCESS As Long
この変数はここで書く物じゃないんでしょうか???

編集 削除
魔界の仮面弁士  2002-11-27 21:51:16  No: 76466  IP: [192.*.*.*]

> 以前の質問にもあったのですが
> ■ 接続を確認
> と同じ現象が起こっています・・・

この質問が見つからないので m(_ _)m 、
どのような現象かはわかりませんが、とりあえず気づいた点だけ。


> Dim ERROR_SUCCESS As Long

そもそも ERROR_SUCCESS は定数です。変数ではありません。
Dimではなく Constで定義してください。

編集 削除
じろん  2002-11-28 00:18:45  No: 76467  IP: [192.*.*.*]

魔界の仮面弁士さん
ありがとうございます
早速  試して見ます。

編集 削除
じろん  2002-11-28 11:31:07  No: 76468  IP: [192.*.*.*]

>InternetAttemptConnect()という関数が見つかり、
>こいつはダイアルアップネットワークのインストールがされてないWindowsNTでもエラーを起こさないことが判明
>(ただしLANケーブルを抜いておいても、
> インターネットに繋がってると判定してしまうのが玉にきず)。
>しかもしかも、この関数を使うと、ダイアルアップ接続の環境の場合、
>システムのダイアルアップ接続ダイアログを勝手に呼び出してくれるのだ。
上記のような物を見つけました(‾□‾;)

>(ただしLANケーブルを抜いておいても、
> インターネットに繋がってると判定してしまうのが玉にきず)。
環境がLAN接続でInternetAttemptConnect()関数を使用しているので
LAN線を引き抜いても  いつも"0"が帰ってきてしまうんですね(-_-;)
この部分を回避する方法は無いのでしょうか?

編集 削除
じろん  2002-11-28 11:53:59  No: 76469  IP: [192.*.*.*]

Private Declare Function InternetGetConnectedState Lib "WININET.DLL" ( _
        lpdwFlags As Long, _
        ByVal dwReserved As Long) As Long

この部分を追加して
LAN接続でも接続状態かどうかの判断のチェックを入れてみた所
解決しました。

ありがとうございます。

編集 削除