誰かが以前にこの問題を抱えていて、できれば解決策を持っているかどうか疑問に思っています. 私が現在開発しているプログラムは MFC アプリケーションであり、.exe
依存関係の問題により (インストール シールドなし) として配布されています。リソース内に埋め込まれた HTML Help File:.chm
拡張子を含めています。ユーザーがヘルプ ファイルを要求すると、リソースからバイナリとして抽出され、ファイル システムにコピーされます。FindResource
、LoadResource
、およびLockResource
コールが発信されます。ファイルが抽出された後、次のように呼び出しますShellExecute
。
ShellExecute(m_hWnd, L"open", pathToFile, NULL, NULL, SW_SHOWDEFAULT);
HTML Help Viewer は問題なく起動します。ただし、特定のコンピューターでは、ファイル内のページを表示できません。「Web ページを表示できません」というメッセージが表示されます。
私は2つのことに気づきました:
エラーは、「このファイルを実行しますか?」の後にのみ発生します。ダイアログは、ユーザーが最初にプログラムに入ろうとしたときに表示されます。
HTML ヘルプ ファイルは、.exe が USB から実行されている (電子メールからダウンロードされていない) 場合に表示できます。
このようなことが起こった人はいますか?助言がありますか?
編集:
呼び出しで同じ結果が得られるShellExecute()
ため、使用しています。HtmlHelp()