為什麼「NotePad++」靜態軟體應用程式會啟動?

為什麼「NotePad++」靜態軟體應用程式會啟動?
  1. 曾經有一段時間,需要將靜態軟體應用程式PATH的資料夾新增至環境變數中NotePad++,以便從執行對話方塊啟動它。這個資料夾:

    資料夾

  2. 曾經有一段時間,儘管環境變數中不存在其路徑,但只需在「執行」對話方塊中鍵入start notepad++即可啟動它PATH

  3. 現在,只需輸入notepad++運行對話框即可啟動它,儘管它的路徑不存在於PATH環境變數中:

    路徑變數

    它是如何做到的?

答案1

「執行」對話方塊和startCmd 中的命令似乎都使用相同的 ShellExecute() 函數,該函數有一個附加位置清單:“應用程式路徑”註冊表項。

程式可以在以下位置註冊各個可執行檔的位置,而不是將自己新增至 %PATH%:

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

這樣做的優點是不需要重新啟動所有仍具有舊%PATH%值的應用程序,並且不會使內部可執行檔弄亂路徑。

參見微軟的文件更多細節。

相關內容