回答
爲什麼選擇WM_CLOSE?
NSIS提供了幾種如何處理安裝程序退出的方法。
您可以使用.onUserAbort, .onInstFailed, .onInstSuccess or .onGUIEnd
回調來處理各種情況。
.onGUIEnd被觸發,每次(窗口關閉後)
.onInstSuccess被觸發時,安裝是成功的,對之前的安裝窗口關閉
.onInstFailed當用戶點擊安裝失敗後的「取消」按鈕
.onUserAbort當用戶點擊'取消'按鈕,並且安裝尚未失敗。
正如您所看到的所有情況都已處理,請參閱NSIS手冊瞭解詳情。
正如Slappy說,如果你只需要一個「我還活着,而做一些事情」,.onGUIEnd是你的朋友:
# This callback is called right after the installer window closes.
Function .onGUIEnd
# Create notify icon (will be always at tray), with default installer icon.
NotifyIcon::Icon /NOUNLOAD "yitb" 103 "Just a tip" "Balloon!" "Cool!"
# Launch your process here
# Remove tray icon.
NotifyIcon::Icon "r"
FunctionEnd
如果你正在尋找一個「最小化到托盤」選項只隱藏用戶界面,並能夠點擊圖標恢復它,然後檢查HideWindow和ShowWindow。
「如果您正在尋找」最小化托盤「選項只是隱藏用戶界面,並能夠恢復它點擊圖標,那麼我不知道該怎麼做。「 ----這正是我所要求的。 :/ – foobar 2013-04-05 06:37:38
那麼你應該編輯你的問題,以澄清它。 – 2013-04-05 09:55:32
- 1. 在c中使用WM_Close#
- 2. 爲什麼WM_CLOSE不能由DefDlgProc自動處理?
- 3. 處理WM_CLOSE消息發送到C#托盤應用程序
- 4. NSIS批處理文件權限
- 5. 在NSIS安裝程序中執行批處理文件
- 6. 在c#中使用WM_Close的問題#
- 7. 如何在C#中使用WM_Close?
- 8. Windows MessageBox忽略WM_CLOSE
- 9. SendMessage函數和WM_CLOSE
- 10. 如何在使用NSIS的卸載過程中運行批處理文件?
- 11. 在NSIS安裝程序中執行批處理文件的問題
- 12. 在NSIS
- 13. 在nsis
- 14. 在NSIS
- 15. NSIS:最大化/最小化按鈕事件處理
- 16. 如何檢測和處理NSIS編譯時錯誤?
- 17. NSIS - 編譯前運行批處理文件
- 18. 如何使用nsis腳本啓動批處理文件?
- 19. C++ COM,Direct2D,Win32和WM_CLOSE
- 20. PostMessage的WM_CLOSE返回1
- 21. 模態消息循環中的WM_CLOSE
- 22. 如何在winEventFilter上取消WM_CLOSE?
- 23. 如何處理未處理在node.js中
- 24. 小問題,在NSIS與HM NSIS編輯
- 25. 在kafka中處理代理
- 26. 在NSIS中安裝字體
- 27. 在Vista/XP中的NSIS InstallDir
- 28. 在nsis中使用MUI_PAGE_HEADER_TEXT
- 29. 在NSIS中複製文件
- 30. 在NSIS腳本
因爲我真的不希望程序關閉,當用戶單擊關閉按鈕,而不是想隱藏它,將它添加到系統托盤中,並保持它在後臺運行,並且只有當用戶右鍵單擊sys托盤圖標時關閉它並選擇退出。我是否要求太多? – foobar 2013-04-04 13:48:58
所以你的問題是錯誤的,它與WM_CLOSE無關。嘗試爲您的功能使用通知圖標插件:http://nsis.sourceforge.net/NotifyIcon_plug-in與一些API調用(以最小化窗口) – Slappy 2013-04-07 09:13:04