0

他の外部アプリケーションを起動するためのC#プログラムを作成しようとしています。私はグーグルでこれを見つけました:http://www.dotnetperls.com/process-startこれはかなり良いチュートリアルだと思います。私が抱えている唯一の問題は、プログラムのパスが常にわからないことです。

たとえば、私がこれを行う場合:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "firefox.exe";
Process.Start(startInfo);

Firefoxが正常に起動します。しかし、私がこれを行う場合:

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "chrome.exe";
Process.Start(startInfo);

Chromeが見つからないため失敗し、正確なパスから起動する必要があるようです。だから私の質問は、インストールされているすべてのアプリケーションのユニバーサルレジストリにアクセスしてそこから起動する方法はありますか?ありがとう。

4

3 に答える 3

3

フォルダパスが「PATH」環境変数にある場合、アプリケーションを直接起動できます。

この変数は、次の場所で表示および編集できます。

  1. 「コンピュータ」を右クリックします
  2. プロパティ。
  3. 「Windows7」または「Vista」を使用している場合は、詳細設定
  4. [アドバンス]タブ
  5. 環境変数

エントリはで区切られ;ます。

FirefoxはすでにそのフォルダをPATHに入れているので、Firefoxを起動できると思います。

于 2012-04-17T21:26:15.160 に答える
1

これは古い質問ですが、解決策を見つけたと思います。

以下のレジストリキーを見てください。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \

インストールされているプログラムごとにキーがあります。たとえば、Chrome.exe。

参照: http: //msdn.microsoft.com/en-us/library/windows/desktop/ee872121 (v = vs.85).aspx

于 2012-10-05T08:53:10.660 に答える
0

あなたはEnvironment.GetEnvironmentVariableメソッドを探していると思います。このように使用できます:

Environment.GetEnvironmentVariable("PATH")

そして、その変数に割り当てられた文字列を返します。

プログラムは通常、Windows OSの起動メカニズムによって自動的に検出できるようにするために、その文字列内で自分自身に署名します。

つまり、この場合、実行可能ファイルへのパスはわからないかもしれませんが、起動するプログラムの名前は知っている必要があります。

于 2012-04-17T21:22:45.740 に答える