|
※今までのことは忘れてください。
------------------------------------------------------------------
GetPrivateProfileXXX でファイヤーウォールが反応したのは、思い出したようにアラームを上げたんでしょう?ホントか。
実際の UDP パケット送出はもっと前に発生していました(激汗 つまり、寝ぼけていたんですよ。私が(涙)
今回は、Process Explorer で UDP フレームの送出を監視しました。このソフトは前から使用していましたが、TCP/IP フレームの送信監視機能があるとは知りませんでした。
正直諦めかけていたのですが、furu さんのコメントのおかげで突破口が開けました。ありがとうございます。
------------------------------------------------------------------
Visual C++ 8.0 SP1
改めてデバッガで追いかけてみるとアプリケーション初期化時の
dlgdhtml.cpp の BOOL CDHtmlDialog::OnInitDialog()
951:
if (m_nHtmlResID)
LoadFromResource(m_nHtmlResID);
else if (m_szHtmlResID)
LoadFromResource(m_szHtmlResID);
else if (m_strCurrentUrl)
Navigate(m_strCurrentUrl);
return TRUE;
の Navigate 内部で UDP フレームを送信していることがわかりました。まっさらなテストアプリを作成して同じ要領でステップ実行していくと、m_nHtmlResID に有意な値が入っているため、Navigate を実行していないことに気がつきました。
で、両者を比較すると CrystalDiskInfo では IDH を定義していないことに気がつきました。
旧:enum { IDD = IDD_DISKINFO_DIALOG };
新:enum { IDD = IDD_DISKINFO_DIALOG, IDH = IDR_HTML_DISKINFO_DIALOG };
CrystalDiskInfo/CrystalDiskMark は内部の HTML リソースではなく外部の HTML ファイルを参照してダイアログを構成するため必要ないと判断して削除していたのですが、どうやら必要だったようで...とりあえずダミー HTML リソースを用意して初期化時に渡すことにしました。
正式版前に解決できて本当に良かった...
CrystalDiskMark 2.1 の方も今日、明日中に更新しておきます。
|
|