1

Windowsレジストリにカスタムプロトコルハンドラを登録していますので、インターネットブラウザの特定の引数でアプリケーションを起動できます。これまでの登録は正常に動作します。 IEとChromeの両方が私のアプリケーションを起動しています。プロトコルハンドラの登録Windows 7 - 間違った作業ディレクトリ

は、私は、プロトコルハンドラを登録するには、この質問にErwinusの答えを使用:how do I create my own URL protocol? (e.g. so://...)

不思議な作業ディレクトリは、両方のブラウザで正しく設定されていません。 Chromeは作業ディレクトリを空の文字列にデフォルト設定していますが、IEは作業ディレクトリをデフォルトで「C:\ Users \ User-X \ Desktop」にデフォルト設定しています。

この動作は意図されていますか?
レジストリに自分のアプリケーションの作業ディレクトリを指定する方法はありますか?

この問題の原因は、事前にお問い合わせいただきありがとうございます。

+0

URLプロトコルの正しい作業ディレクトリは何ですか? – Anders

+0

アプリケーションで作業ディレクトリを気にする必要はありませんか? –

+0

@アンダーワーキングディレクトリは、URLプロトコル自体とは関係なく、アプリケーションを起動するときに作業ディレクトリを正しく設定するブラウザ(またはOS)のジョブです。だから私の心の中では、作業ディレクトリはmy * .exeが置かれているディレクトリに設定する必要があります。 – Pete

答えて

0

作業ディレクトリは、.\file.extのようなパスを解決するコマンドライン引数に接続されており、相対パスパラメータは存在しないため、作業ディレクトリは重要ではありません。

アプリケーションは、ライブラリやその他のアプリケーション固有のファイルをロードするための作業ディレクトリに依存してはいけません。

NoWorkingDirectoryという名前の文書化されていない値がありますが、ファイルタイプの登録に設定できますが、URLプロトコルに適用されるかどうかはわかりません。

関連する問題