- Firefox起動中にExplorerでhtmlファイルをダブルクリックしたり、Skypeで送られてきたURLをクリックすると「Firefox は起動していますが応答しません...」が表示される。
- Firefoxを起動していない時にExplorerでhtmlファイルをダブルクリックすると「xxx が見つかりません。名前を正しく入力したかどうか...」が表示される(但し、ファイルは正常に開く)。
- Firefox起動時に、Firefox自身が作成するDDEサーバが何らかの理由で作成に失敗している。このため起動元はFirefoxが起動中であることを認識できず、複数起動してしまい、結果同エラーが起きている。
- 理由はよく分からないが、エラーを表示しているのはExplorerのようだ(エラーダイアログの所有者はUSER32.dllだった)。
という訳で、解決するためのアドオンを作成してみた。
解決方針は、
- Firefox起動時に、独自のアドオンから独自のWindowsアプリを起動し、そこでDDEサーバを立てる。独自のアドオンと独自のアプリはSocketで通信する。
- (原因が分かっていないので)前述の独自アプリ起動直後に「名前を正しく入力したかどうか」のエラーが表示されていたら、WM_CLOSEでメッセージを閉じる(一瞬エラーは見えるし、音は鳴るしで、スマートな解決からは程遠い...)。
以下を右クリックして「名前をつけてリンク先を保存」し、Firefoxのアドオンマネージャのウィンドウにドラッグ&ドロップしてください。
NotYetRunning10.xpi
アドオンからアドオンフォルダ内の独自EXE(dde2socket.exe)を起動しているので、VistaやWin7な人はUAC認証が必要かも知れません。なお独自EXEはFirefox起動と同時に起動し、それらしいアイコンがタスクトレイに表示されます。そしてFirefox終了と同時に終了します。