使用NSIS重新启动/注销后,系统托盘图标未显示

时间:2019-02-18 05:02:33

标签: nsis

当我使用NSIS安装该应用程序时,它会显示通知图标(系统托盘图标)。但是,一旦重新启动/注销,该图标就会在系统托盘中消失。

在安装时,我正在调用“部分”中具有系统任务栏功能的“ Display.exe”。为了即使在重新启动/注销后仍显示系统任务栏功能,我们是否需要在其他任何地方添加此功能?

下面是我现有的代码,它们在安装完成后显示系统托盘:

!insertmacro MUI_LANGUAGE "English" 

Section "MyApp"
  File "C:\Desktop\Common\Display.exe"

# To notify and launch the application in the Systray
  ExecShell "" "$INSTDIR\Display.exe"

SectionEnd

以下是与服务相关的代码:

    WriteRegStr   HKLM "SOFTWARE\EMR\4.01.00\Service" "Image" "mainserv.exe"
    File "C:\Desktop\Common\mainserv.exe"

   CreateShortcut "" "$InstDir\mainserv.exe" ; ***Added this line of code to start the service after reboot***

  SimpleSC::InstallService "APC UPS Service" "APC UPS Service" "16" "2" "$INSTDIR\mainserv.exe" "" "" ""
  Pop $0 ;
  SimpleSC::SetServiceDescription "APC UPS Service" "Electronic Medical Record Service"
  Pop $0 ;
  SimpleSC::StartService "APC UPS Service" "" "30"
  Pop $0 ;

1 个答案:

答案 0 :(得分:0)

通知图标(系统任务栏图标)仅在其应用程序运行时存在。如果希望图标在重新启动后仍然存在,则必须安排用户登录后启动该应用程序。

您可以为the run key添加一个值:

alert(obj[objKey][0])

或启动快捷方式:

WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" "MyApplication" '"$InstDir\MyApp.exe"' ; Can also be created in HKCU