mfc-ml

2004年11月

30

[mfc 50169] wininet 系タイムアウト設定について

和泉勝利と申します。

開発環境
Visual C++ 6.0
Win2000Pro SP4
Internet Explorer 6.0
WININET.dll 6.00.2800.1468

CInternetSessionのOpenUrlメソッドを使用してURLに対して
接続を試みる時にタイムアウト値をSetOptionメソッドを使用
して設定しますが、オンライン環境のあるPCのIEのプロキシ
設定等を削除して接続を試みた時に、設定したタイムアウト
値を過ぎても処理が戻って来なくて困っています。

設定しているオプションは以下
INTERNET_OPTION_CONNECT_TIMEOUT -> 5000ms
INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT -> 5000ms
INTERNET_OPTION_CONTROL_SEND_TIMEOUT -> 5000ms
INTERNET_OPTION_RECEIVE_TIMEOUT -> 5000ms
INTERNET_OPTION_SEND_TIMEOUT -> 5000ms
INTERNET_OPTION_CONNECT_BACKOFF -> 1000ms
INTERNET_OPTION_CONNECT_RETRIES -> 1
5秒と設定しているにも関らずOpenUrl実行後25,6秒処理が
帰ってきません。
どうしたら処理が帰ってくるのでしょうか?

http://support.microsoft.com/kb/176420/ja
上記サイトでIEの古いバージョンでは指定したタイムアウト値
が設定されないバグがあることは判りましたが開発環境のIEは
V6.0です。



__________________________________
STOP HIV/AIDS.
Yahoo! JAPAN Redribbon Campaign
http://pr.mail.yahoo.co.jp/redribbon/
30

[mfc 50168] Re: [mfc 50163] RE: 【質問】オートメーションサーバでの複数インスタンスの生成方法

渋木様
ありがとうございます。やはり難しそうですか
とりあえず、6個に分けることが決まっているので
プロジェクトを分けてオートメーションを受け取る部分の実行ファイルだけ
名称を変えて作成することにします。

----- Original Message ----- 
From: "Hiroaki SHIBUKI" <h...@mbi.nifty.com>
To: <m...@ml.acty-net.ne.jp>
Sent: Monday, November 29, 2004 4:36 PM
Subject: [mfc 50163] RE: 【質問】オートメーションサーバでの複数インスタンスの生成方法
Subject: [mfc 50163] RE: 【質問】オートメーションサーバでの複数インスタンスの生成方法


> 渋木です。
>
>> 別々のProgIDでCreateProcessを行った場合でも,必ず新しくインスタンスを生成
> するような設定
>> をすることは可能でしょうか?
>
> 技術的に可能か不可能かということなら可能っぽい気がしますが、かなり困難だと
> 思います。
> 少なくとも MFC の助力は得られないものと考えた方がいいです。
>
> --
> // 渋木宏明 (Hiroaki SHIBUKI)
> // http://hidori.jp/
> // Microsoft MVP for Visual C#
>
> # Visual Studio2005 の全エディションに UnitTest 機能を!投票募集中↓
> #
> http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackId=F
> DBK17344
29

[mfc 50167] Re:メニュー表示中だけスレッドをサスペンドさせたい

こんばんは、中山です。

渋木さん、返信ありがとう御座います。

> > メニューが消えるタイミングを捉える方法をご教示頂きたくお願い致します。
>  WM_EXITMENULOOP って飛んでこないんでしたっけ?

このメッセージの存在を知りませんでした。
試した結果、項目を選択してメニュー消えた場合も、メニュー以外をクリックし
てメニューが消えた場合も、このメッセージが飛んできました。
これで目的が達成できそうです。

#余談ですが「WM_ENTERMENULOOP」っていうメッセージもあるんですね…

>  あるいは、TPM_RETURNCMD フラグを指定して TrackPopupMenu してみるとか。

このオプションの意味が分からなかったので使用してなかったのですが、これを
指定するとメニューが消えるまで「TrackPopupMenu」の制御が返ってこなくなる
んですね。
これでもやりたいことが出来そうです。

どうもありがとう御座いました。

-- 
中山 剛史 <t...@nifty.com>
29

[mfc 50166] RE: メニュー表示中だけスレッドをサスペンドさせたい

 渋木です。

> メニューが消えるタイミングを捉える方法をご教示頂きたくお願い致します。
> また、上記のような目的を達成するために別の方法がありましたら、その方法に
> ついてもご教示頂ければ有難く思います。

 WM_EXITMENULOOP って飛んでこないんでしたっけ?

 あるいは、TPM_RETURNCMD フラグを指定して TrackPopupMenu してみるとか。

--
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#

# Visual Studio2005 の全エディションに UnitTest 機能を!投票募集中↓
#
http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?feedbackId=F
DBK17344
29

[mfc 50165] Re: 最小化ボタン

ありがとうございます。

----- Original Message -----
From: "NCS INOUE" <i...@nippon-control-system.co.jp>
To: <m...@ml.acty-net.ne.jp>
Sent: Friday, November 26, 2004 8:17 PM
Subject: [mfc 50157] Re: 最小化ボタン
Subject: [mfc 50157] Re: 最小化ボタン


> しげです。
>
> > ダイアログボックスのシステムメニューの最小化ボタンを表示(有効に)して、
> > ×ボタンを非表示(または無効)にする方法はありますでしょうか?
>
> ダイアログプロパティで、
>   システムメニュー を ON
>   最小化ボタン を ON
>
> 閉じるボタンを無効にしたいところで、
>   CMenu* pSysMenu = GetSystemMenu( FALSE );
>   pSysMenu->EnableMenuItem( SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );
>
> ですかね。
> ただし、仕様によりますが、最小化ボタンと元に戻すボタンの相互遷移
> についても考慮が必要かもしれませんね。
>
> ON_WM_SYSCOMMAND を実装して、
>
>     switch(nID & 0xFFF0)
>     {
>         case SC_MINIMIZE:
>         {
>             CMenu* pSysMenu = GetSystemMenu( FALSE );
>             pSysMenu->EnableMenuItem(SC_MINIMIZE,
MF_BYCOMMAND|MF_GRAYED );
>             pSysMenu->EnableMenuItem(SC_RESTORE,
MF_BYCOMMAND|MF_ENABLED );
>             break;
>         }
>         case SC_RESTORE:
>         {
>             CMenu* pSysMenu = GetSystemMenu( FALSE );
>             pSysMenu->EnableMenuItem(SC_RESTORE, MF_BYCOMMAND|MF_GRAYED );
>             pSysMenu->EnableMenuItem(SC_MINIMIZE,
MF_BYCOMMAND|MF_ENABLED );
>             break;
>         }
>         default:break;
>     }
>     CDialog::OnSysCommand(nID, lParam);
>
> っちゅう感じです。
>
記事検索
Amazon.co.jp
  • ライブドアブログ