はじめて書き込ませていただきます。
よろしくお願い致します。
IEのオンライン・オフラインの切替処理を以下のようにやりました。
※この関数を呼び出す際、引数にtrue または、false を設定。
void SetInternetConnected(bool bConnected)
{
CInternetSession session; // CInternetSession クラス型
INTERNET_CONNECTED_INFO ici; // INTERNET_CONNECTED_INFO 構造体型
if ( bConnected == true )
{
// オンラインに設定
ici.dwConnectedState = INTERNET_STATE_CONNECTED;
ici.dwFlags = 0;
}
else
{
// オフラインに設定
ici.dwConnectedState = INTERNET_STATE_DISCONNECTED_BY_USER;
ici.dwFlags = ISO_FORCE_DISCONNECTED;
}
// 切り替え
session.SetOption(INTERNET_OPTION_CONNECTED_STATE, &ici, sizeof(ici));
}
上記のようにコーディングして、実際切替は可能になったのですが、
次の問題として、
オフライン時にリンク先にカーソルを合わせ、
リンク不可能マーク!?(禁止マーク)を選択すると表示される、
「オフラインでは使用できないWebページ」のメッセージダイアログを制御したいのです。
やりたいことは、
1.「オフラインでは使用できないWebページ」のメッセージダイアログの出現時、
接続ボタンを無効にする。
2.「オフラインでは使用できないWebページ」のメッセージダイアログを表示させない。
できれは、2番目の方法が知りたいです。
使用環境 Windows2000/Visual C++ 6.0
まず、こんなことできるのでしょうか?
もし、可能であり、おわかりになる方がいらっしゃいましたら、ご教授をお願い致します。
何分、初心者な者で、よろしくお願い致します。
自己レス
「オフラインでは使用できないWebページ」のメッセージダイアログ
の制御方法ですが、他の掲示版にてアドバイスをいただき、解決いたしました。
お手数お掛け致しました。
下記のBBSにてNo140で書き込んで見たところアドバイスいただきました。
http://www.aaacafe.ne.jp/free/hidori/code.bbs
別の掲示版にて以下のようなアドバイスをいただきました。
> まず、こんなことできるのでしょうか?
まっとうな方法では無理でしょうね。
どうしても実現したければ、問題のダイアログの特徴(=キャプション文字列、ダイアログ上のコントロールIDなどなど)を入念に調べた上でメッセージフックを仕掛けて、
> 1.「オフラインでは使用できないWebページ」のメッセージダイアログの出現時、
> 接続ボタンを無効にする。
ダイアログが表示された瞬間に、フックプロシージャ内で接続ボタンを無効化する。
> 2.「オフラインでは使用できないWebページ」のメッセージダイアログを表示させない。
同上、ダイアログが表示された瞬間に IDCANCEL なボタンが押されたことにして、強制的にダイアログを閉じてしまうとか。
既に気づいていると思いますが、処理のトリガーが「ダイアログのキャプション」というとてもあやふやなものなので、OSやブラウザのバージョンが異なると、期待通りの動作をしなくなる可能性がある点に注意してください。
# 多分、専用システムかなんかなんですよね?
ツイート | ![]() |