過去の桐井戸端BBS (桐ver.8)
13240 桐からインターネットに接続済みか否かを調べたい Hosy 2001/09/28-17:52
OS:Win98SE
桐:ver8sp6
接続:TA

上記の様な環境で、一括処理から
インターネットに接続していなければ任意のダイアルアップネットワークでインターネットに接続する。
既にインターネットに接続していたら何もしない。

と言う様な処理をしたいのですが、既にインターネットに接続しているか否かを調べる方法があるのか、
また、桐からインターネットに接続する方法があるのかを調べています。

どなたかご存じの方いらっしゃいますか?
ぶしつけですが宜しくご教授下さい。

13242 Re:インターネットに接続済みか否かを調べる方法 幅田 2001/09/28-18:30
記事番号13240へのコメント
Hosyさん、こんにちは。

>桐からインターネットに接続する方法があるのかを調べています。

インターネットエクスプローラーのプロパティ→接続→ダイヤルアップの設定をしておいて、

シェル実行 "http://www.nsknet.or.jp/~habata/"

などという風に書いて実行するだけで、インターネットに接続はできると思います。

13246 Re:インターネットに接続済みか否かを調べる方法 pokopon 2001/09/28-20:47
記事番号13240へのコメント
Hosyさん こんにちは

>インターネットに接続していなければ任意のダイアルアップネット
>ワークでインターネットに接続する。
>既にインターネットに接続していたら何もしない。
>と言う様な処理をしたいのですが、既にインターネットに接続して
>いるか否かを調べる方法があるのか、また、桐からインターネットに
>接続する方法があるのかを調べています。

「インターネットへの接続」という意味は、
1.ブラウザ(IEなどの)を開いて、特定のHPを表示する
2.単に「ダイヤルアップネットワークを起動する」
のどちらでしょうか?

文面からすれば、どうも1.ではなく(HPを見るということではなく)、他のネットワークにRASで接続するという意味に取りました。
1.であれば、幅田さんのご指摘のように、
シェル実行 "http://URL"で自動でブラウザが起動し、インターネットゾーンへ出るためにダイヤルアップネットワークが「結果的」に起動すします。
この場合には、ブラウザの設定で「自動接続」が設定されている場合ですが。

もし、2.だけをご希望なら(他RASでの接続など)、ちょっと厳しいですね。
というのは、ダイヤルアップネットワークは、ファイルとしてWindowsに存在しないからです。
ですので、直接実行はできません。

ただ、次の方法にて、ファイル化できますし、それを「シェル実行」すれば、ダイヤルアップネットワークを起動できます。

ア.「マイコンピュータ」→「ダイヤルアップネットワーク」を開きます。
イ.希望の接続アイコン(例えば、「ネット接続」という名前として)をドラックして、ディスクトップ上に移します。
ウ.すると、ディスクトップ上に「ネット接続.DUN」というファイルができます。
ショートカットでない事にご注意ください。きちんと拡張子「.DUN」がつきます。

これは、ダイヤルアップネットワークの「エクスポートファイル」ですので、
これを「右クリック→コピー」でどこのフォルダへもコピーできます。

次に、桐の一括(イベント)で(仮にd:\DATA\ にこのファイルがあるとして)

シェル実行 "d:\DATA\ネット接続.DUN"

とすれば、ブラウザの起動なしにダイヤルアップが行われます。

また、「インターネットに接続しているかどうか」は、桐でもDOSコマンドでも存在しない(私は知らない)と思うので、????です。
が、既に接続していても、上記のコマンドを実行すれば、「接続中」のダイアログが表示され、二重起動にはなりません(多分)。

どうしても接続中かどうか確認してから・・・・というのであれば、別のスクリプト言語(WHS、VBSなど)で確認用のプログラムを作成し、
シェル実行すれば可能かと思います。

余り参考になりませんでしかね?
13247 Re:インターネットに接続済みか否かを調べる方法 hidetake 2001/09/28-21:39
記事番号13246へのコメント
インターネットに接続できているかどうかを確認するには
外部のアドレスで、特定の必ず反応するアドレスに pingを飛ばして、
反応があるかどうかで調べてはいかがでしょう?

アドレスは必ず必要となるプロバイダの DNS サーバなどを指定して・・・

バッチファイルだと
---------------------------------------------------------------
@echo off
echo %1 を探しています!
ping -n 1 %1 | find "Reply"
if errorlevel 0 if not errorlevel 1 echo %errorlevel% >link.txt
if errorlevel 1 echo %errorlevel% >unlink.txt
---------------------------------------------------------------
なんてして、ファイルのあるなしで確認する方法もあるかと思います。
ファイルはバッチファイルを起動する前に桐側、もしくはバッチファイル無いで削除して下さい。
アドレスを決められる場合は、バッチファイル内に固定して設定しても良いでしょう! (%1 のところです)

あと、ダイアルアップに関しては過去ログにもありますので、
rasse とか rasdial とか RnaDial で検索してみて下さい。

rasse フリーソフト
http://tokyo.cool.ne.jp/futai/fsw/rasse/

発信の確認のところまで
start /w rundll32.exe rnaui.dll,RnaDial ダイヤルアップ名

NT(2000) 系だったら
rasdial.exe

などなど、いろいろ方法はあります。


13249 Re:インターネットに接続済みか否かを調べる方法 pokopon 2001/09/28-23:56
記事番号13247へのコメント
hidetakeさん こんにちは

いつも、明快な回答、恐れ入ります。
過去ログから
>Windows9x で単にダイアル画面を呼びだすだけだったら
>rundll32.exe rnaui.dll,RnaDial 接続名
>でも可能。
直接ダイヤルアップを起動できるんですね。一つ賢くなりました。
でも、これって、かなりマニアック???
私の知識ではせいぜいDUNファイルからの起動くらいしか思いつきませんでした。

>インターネットに接続できているかどうかを確認するには
>外部のアドレスで、特定の必ず反応するアドレスに ping
>を飛ばして、反応があるかどうかで調べてはいかがでしょう?

レスポンスの問題もあるでしょう。
おそらくご希望は「瞬時に判断」かと思います。
それに、pingをたたいた時、無接続状態なら、自動でダイヤルアップが出てきますしね。

ところで、イマイチ質問の意図が見えないのですが、
「接続状態でなければ自動で接続し」 は分かりますが、
「接続状態なら何もしない」が ???
最初から、接続状態に関わらず、ダイヤルするようにしてもいいのかな?
ダブっていたら、「現在接続中」のダイアログ。
これでも実用的かと・・・・。
多分、このダイアログ自体も表示させたくないということかな?
であれば、作業が終了後は当然「自動切断」ですね。

ところで、ついでに、「自動切断」するにはどのように記述すればよいのですか?

(1時間以内に回答が得られる予感???)

13250 Re:インターネットに接続済みか否かを調べる方法 hidetake 2001/09/29-00:48
記事番号13249へのコメント
>レスポンスの問題もあるでしょう。おそらくご希望は「瞬時に判断」かと思いま
>す。それに、pingをたたいた時、無接続状態なら、自動でダイヤルアップが出てき
>ますしね。

確かに自動接続している場合は ping で発信してしまう事もあるでしょう!
ルータで機能を持ったものでしたら ping で発信しないような事も出来るのでしょうけど、
TA だと普通は無理かな?

自動接続になっている場合は、それだけで質問の意味がなさなくなるので、
今回の場合は自動接続になっていな状態を考慮したものです。 (^^:

それと瞬時というのは、どれぐらいか?と言う問題もあります。
それから、ダイアルアップが完了していても、DNS が倒れていれば通信できない状態もあります。
一番良いのは接続したい相手先に向かって ping かける事でしょうか・・・

ようは必要に応じて特定のダイアルアップを指定して接続するのだったら、
Windows9x 環境の場合、rasse + バッチファイルだけでも目的を果たすのは可能なハズです。

ダイアルアップが目的のものを使用して接続しているのか、
別のものを使用しているのかは、ping と同じように tracert + find を使って、
必要な回数以内で特定のアドレスに到達できるかで確認できるでしょうか?

後は工夫してみてください。


13251 Re:インターネットに接続済みか否かを調べる方法 hidetake 2001/09/29-00:58
記事番号13250へのコメント
>ダイアルアップが目的のものを使用して接続している
>のか、別のものを使用しているのかは、ping と同じよう
>に tracert + find を使って、必要な回数以内で特定の
>アドレスに到達できるかで確認できるでしょうか?

あるいは winipcfg.exe /all /batch filename.txt で
テキストファイルとしてネットワーク設定状態を取り出し、
「DNS サーバー」の項目ででも判断すれば良いのかも知れません。


13252 Re:インターネットに接続済みか否かを調べる方法 hidetake 2001/09/29-01:06
記事番号13251へのコメント
余談 (^^;

>winipcfg.exe /all /batch filename.txt

Windows95 の場合は、

winipcfg.exe /全 /バッチ filename.txt
(但し、バッチは半角カナ!)

恐るべき MS の日本語化だったりします。

13255 Re:インターネットに接続済みか否かを調べる方法 pokopon 2001/09/29-09:16
記事番号13250へのコメント
hidetakeさん こんにちは

>それと瞬時というのは、どれぐらいか?と言う問題もあり
>ます。それから、ダイアルアップが完了していても、DNS
>が倒れていれば通信できない状態もあります。一番良い
>のは接続したい相手先に向かって ping かける事でしょうか・・・
やはりこれが確実だと思います。Hosyさんがどのような相手に対しての接続を希望しているかが、今もって分からないので??? ですが。

>ようは必要に応じて特定のダイアルアップを指定して
>接続するのだったら、Windows9x 環境の場合、rasse +
>バッチファイルだけでも目的を果たすのは可能なハズ
>です。
そうですね。ともかくダイヤルアップ起動ができれば、何とかなりますね。

>winipcfg.exe /全 /バッチ filename.txt
>恐るべき MS の日本語化だったりします。
えっ、本当? 今度試して見ます。
他のコマンドでも日本語が使われているのがあるのかな?
xcopy c:\の全部 d:\へそのまんま /新しいものだけ /追加も可 なんてね。(^^ゞ

(さすが、1時間以内に登場していただきました。でも、すいません。
待ちきれずgoo・・・・・となりました)
ところで、「自動切断」のコマンドは?? お暇なときで結構ですので、教えてください。


13257 Re:インターネットに接続済みか否かを調べる方法 hidetake 2001/09/29-10:00
記事番号13255へのコメント
>「自動切断」のコマンドは??

rasse <http://tokyo.cool.ne.jp/futai/fsw/rasse/>
の中に rascut.exe / raszap.exe と言うものが一緒に入っております!


13258 Re:インターネットに接続済みか否かを調べる方法 pokopon 2001/09/29-13:38
記事番号13257へのコメント
hidetakeさん こんにちは
>rasse <http://tokyo.cool.ne.jp/futai/fsw/rasse/>
>の中に rascut.exe / raszap.exe と言うものが一緒に
>入っております!
了解しました。ありがとうございました。

戻る