1

CDが挿入されたときに自動実行するように設定されたカスタムMFCアプリケーションを使用してインストールCDを作成しようとしています。

手順は、画像とPDFドキュメントへのリンクを含む単純なhtmlページとして含まれており、これらはすべてCDにあります。

以前は、次の方法を使用して、デフォルトのブラウザでhtmlページを開きました。

ShellExecute(NULL, "open", <full path to .htm file including CD drive letter>, NULL, NULL, SHOWNORMAL);

しかし、ビスタの下でIE8を使用してテストしたとき、私は次のことに遭遇しました。

  1. Explorerが起動します
  2. タブには「接続中」と表示されます
  3. エクスプローラーが消える

インターネットゾーンの保護モードをオフにすると、問題が解決するため、これは保護モードと関係があります。

奇妙なことに、問題はすべてがCDに書き込まれたときにのみ発生します。自動実行実行可能ファイルをハードドライブから手動で実行すると、htmlページが正常に表示されます。

だから私はこれを修正するために私ができる特定の何かがあるかどうか尋ねていますか?または、この問題が発生しない可能性のある、ユーザーのデフォルトブラウザでURLを開くための別のメカニズムがある場合はどうでしょうか。

4

2 に答える 2

0

IEがインストールされていることを合理的に確信できるので、実行したいかもしれません

iexplore.exe [URL] 

あなたのshellex呼び出しで。

IE がインストールされていない場合は、戻り値が見つからないかどうかを確認します。その場合は、元の shellex 呼び出しを .htm ファイルで直接実行してください。

または、.htm を %TEMP% にコピーして、そこから shellex 呼び出しを実行することもできます。そうすれば、「危険な」場所から保護されたエースを回避できます。

于 2009-07-28T19:20:01.660 に答える
0

ShellExecute からのリターン コードをキャプチャして表示できますか? それは何が起こっているのかについての手がかりを私たちに与えるかもしれません.

result = ShellExecute(...

考えられる戻りコードは次のとおりです。

http://support.microsoft.com/kb/238245

あなたの質問には、CD-ROM ドライブ文字をハードコーディングしていると書かれています。テストしているマシンのドライブ文字は、CD を作成したマシンとは異なりますか?

于 2009-07-28T19:21:55.103 に答える