「NotePad++」静的ソフトウェア アプリケーションが起動するのはなぜですか?

「NotePad++」静的ソフトウェア アプリケーションが起動するのはなぜですか?
  1. 実行ダイアログから静的ソフトウェア アプリケーションを起動するには、PATH環境変数にそのフォルダーを追加する必要がありました。このフォルダーは次のようになります。NotePad++

    フォルダ

  2. start notepad++パスが環境変数に存在しないにもかかわらず、起動するために実行ダイアログに入力するだけだった時代がありましたPATH

  3. notepad++今では、パスがPATH環境変数に存在しないにもかかわらず、実行ダイアログに入力するだけで起動できます。

    PATH変数

    それはどうやってやるのですか?

答え1

「実行」ダイアログとstartCmdのコマンドはどちらも同じShellExecute()関数を使用しているようですが、これには追加の場所のリストがあります。「アプリパス」レジストリ キー。

プログラムは、%PATH% に自身を追加する代わりに、次の場所に個々の実行可能ファイルの場所を登録できます。

  • HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
  • HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths

これには、古い %PATH% 値が残っているすべてのアプリを再起動する必要がなく、内部実行可能ファイルでパスが乱雑にならないという利点があります。

マイクロソフトのドキュメンテーション詳細については。

関連情報