exe の場所がわからない状態で、コマンド ライン引数を使用してファイルを起動しますか?

StackOverflow https://stackoverflow.com/questions/35914

  •  09-06-2019
  •  | 
  •  

質問

状況は次のとおりです。アプリケーションを起動しようとしていますが、.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 方法。

他のヒント

レジストリにクエリを実行すると、登録されたファイルの種類に関するデータを取得し、コマンド ライン引数を渡してアプリを直接呼び出すことができます。見る プログラムによるファイルタイプの確認と設定 ファイルタイプのシェル情報を取得する例については、「」を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top