exe の場所がわからない状態で、コマンド ライン引数を使用してファイルを起動しますか?
質問
状況は次のとおりです。アプリケーションを起動しようとしていますが、.exe の場所がわかりません。ファイル拡張子が (Windows で) 登録されている場合は、次のようなことができます。
Process.Start("Sample.xls");
ただし、いくつかのコマンドライン引数も渡す必要があります。これを機能させることができませんでした
Process p = new Process();
p.StartInfo.FileName = "Sample.xls";
p.StartInfo.Arguments = "/r"; // open in read-only mode
p.Start();
これを解決するメカニズムについて何か提案はありますか?
編集 @アク
私の StackOverflow 検索スキルは弱いです。その投稿は見つかりませんでした。私はレジストリを覗くのが嫌いですが、これは素晴らしい解決策です。ありがとう!
解決
私のコードを使用して これ 答えは、xls拡張子に関連付けられたコマンドを取得できます。次に、このコマンドを次のように渡すことができます Process.Start
方法。
他のヒント
レジストリにクエリを実行すると、登録されたファイルの種類に関するデータを取得し、コマンド ライン引数を渡してアプリを直接呼び出すことができます。見る プログラムによるファイルタイプの確認と設定 ファイルタイプのシェル情報を取得する例については、「」を参照してください。
所属していません StackOverflow