インターネットに接続されているか確認するには、どうすればいいのでしょうか?
PINGとかで出来るのかな?と思っているのですが、やり方がわかりませんでした。
それと、メールチェッカを作ってみたいのですが、これも上記と同じく、やり方がわかりません。ちなみに、「受信」は行わず、メールボックスにあるメールの「数」をチェックしたいのです(メールチェッカとはそういう意味でしょうけど・・・)。
(ここの掲示板のは「送信」で、「受信」ではありませんでしたので・・・)
ネットで検索してみたものの、メールチェッカの紹介ページの検索結果が沢山出てきて、作り方のページが見つかりませんでした。
ネット関連だと思い、1つ(のトピック)にまとめました。
よろしくお願いします。
インターネットの接続確認+メールチェッカ
Re: インターネットの接続確認+メールチェッカ
> インターネットに接続されているか確認するには、どうすればいいのでしょうか?
On Error Resume Next さんのWinTipsに載ってます。
http://resume-next.hp.infoseek.co.jp/data/index.html
私も、接続の有無のチェックを組み入れようと思いつつも、
ずっと放置していたとこだったので、
これを使ってオフライン/オンラインを検出する関数を
実際に組んで見ました。
Ver3.x
ダイヤルアップの部分は試してません(^^;)
他の参考サイト(※どっちもABではありません。VBとCかな?)
http://www2.hornet.co.jp/tomoko/program ... tate01.htm
http://www.geocities.co.jp/SiliconValle ... ternet.htm
> 「受信」は行わず、メールボックスにあるメールの「数」をチェックしたいのです(メールチェッカとはそういう意味でしょうけど・・・)。
こちらに関してはさっぱり分かりません(^^;)
ここの掲示板の「送信」プログラムで使っているAPIをググッって行けば
辿り着けそうに思いますが・・・量が量なので大変そうですね・・・。
On Error Resume Next さんのWinTipsに載ってます。
http://resume-next.hp.infoseek.co.jp/data/index.html
私も、接続の有無のチェックを組み入れようと思いつつも、
ずっと放置していたとこだったので、
これを使ってオフライン/オンラインを検出する関数を
実際に組んで見ました。
コード: 全て選択
#N88BASIC
' ↓ ここからプログラムが実行されます
Declare Function InternetGetConnectedState Lib "wininet.dll" ( ByRef lpdwFlags As Long, dwReserved As Long ) As Long
'■ lpdwFlags(接続状況を返すポインタ)
Const INTERNET_CONNECTION_CONFIGURED = 64 '有効な接続があるが現在接続されていない
Const INTERNET_CONNECTION_LAN = 2 '接続にLANを使用
Const INTERNET_CONNECTION_MODEM = 1 '接続にモデムを使用
Const INTERNET_CONNECTION_OFFLINE = 32 'オフライン
Const INTERNET_CONNECTION_MODEM_BUSY = 8 '何も使用されていない
Const INTERNET_CONNECTION_PROXY = 4 '接続にプロキシ・サーバーを使用
Const INTERNET_RAS_INSTALLED = 16 'RASがインストールされている
Declare Function InternetAttemptConnect Lib "wininet.dll" ( dwReserved As Long ) As Long
Dim retAns As Long
retAns = IsInternetConnect()
debug
retAns = IsInternetOnline()
debug
End
'インターネットへの接続の有無を返す
'※接続が存在すれば、オフライン/オンラインに関わらずTRUEを返す。
'※※ADSL等の接続が無い場合には、ダイヤルアップのダイアログを開く?
Function IsInternetConnect() As Long
Dim retAns As Long
Dim nFlags As Long
'ADSL( LAN経由 )をチェック
retAns = InternetGetConnectedState( nFlags, NULL )
If( retAns=FALSE )Then
'ダイヤルアップをチェック
retAns = InternetAttemptConnect( NULL )
If( retAns<>ERROR_SUCCESS )Then
IsInternetConnect = FALSE
Else
IsInternetConnect = TRUE
EndIf
Else
IsInternetConnect = TRUE
EndIf
EndFunction
'接続がオンラインかどうかを返す。
'※接続が存在しない場合はオフラインと判断。
Function IsInternetOnline() As Long
Dim retAns As Long
Dim nFlags As Long
'ADSL( LAN経由 )をチェック
retAns = InternetGetConnectedState( nFlags, NULL )
If( retAns=FALSE )Then
IsInternetOnline = FALSE
Else
'オフラインかどうかを調べる。
If( (nFlags and INTERNET_CONNECTION_OFFLINE)=INTERNET_CONNECTION_OFFLINE )Then
IsInternetOnline = FALSE
Else
IsInternetOnline = TRUE
EndIf
EndIf
EndFunction
ダイヤルアップの部分は試してません(^^;)
他の参考サイト(※どっちもABではありません。VBとCかな?)
http://www2.hornet.co.jp/tomoko/program ... tate01.htm
http://www.geocities.co.jp/SiliconValle ... ternet.htm
> 「受信」は行わず、メールボックスにあるメールの「数」をチェックしたいのです(メールチェッカとはそういう意味でしょうけど・・・)。
こちらに関してはさっぱり分かりません(^^;)
ここの掲示板の「送信」プログラムで使っているAPIをググッって行けば
辿り着けそうに思いますが・・・量が量なので大変そうですね・・・。
Re: メールの受信
> メールの受信サンプルを実践コードモジュールに投稿しておきました。
> POP3で受信を行います。
>
> よろしければ参考にどうぞ。
淡幻星さん、situmonさん、ありがとうございます。
参考にして、がんばってみます。
> POP3で受信を行います。
>
> よろしければ参考にどうぞ。
淡幻星さん、situmonさん、ありがとうございます。
参考にして、がんばってみます。