3

iexplore が html ファイルに関連付けられていなくても、ShellExecute iexplore.exe (コマンド ライン引数として html ファイル名を使用) を使用したいと考えています。

ユーザーがアンインストールしていないと仮定すると、プログラムへのパスを提供せずにアンインストールするのはどれほど安全でしょうか。これは私のマシンで動作します。つまり、デフォルトの Windows 検索パスには iexplore.exe へのパスが含まれています。最近のすべての Windows (XP+) マシンでこれを期待するのは合理的ですか?

ShellExecute iexplore.exe のより安全な方法はありますか?

(デルファイ XE2)

(この質問は独立していますが、私が同時に尋ねたこの SO の質問のコンテキストで IE を実行するオプションをユーザーに提供します: Detect Chrome as browser associated with html files in Windows )

4

1 に答える 1

3

「iexplore.exe」はデフォルトの検索パスにありません。そのパスはHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXEキーに登録されています。何らかの理由でこのキーが見つからないか、間違った場所を指している場合、あなたのアプローチは機能しません。こうなる可能性はかなり低いと思います。

別の方法として、Internet Explorer オブジェクトを使用できます。レジストリが壊れているなどの場合、これも失敗する可能性がありますが、私にはより公式な方法のように思えます。

ie := CreateOleObject('InternetExplorer.Application');
ie.Visible := True;
ie.Navigate('http://example.com');

IE オブジェクト参照はこちら

于 2012-08-15T01:26:27.710 に答える