0

如何处理自定义页面的 WM_CLOSE 消息?

当用户关闭对话框时,我想在系统托盘中添加应用程序(使用 NotifyIcon 插件)。

有任何想法吗?

4

2 回答 2

1

为什么是 WM_CLOSE?

NSIS 提供了几种处理安装程序退出的方法。

您可以使用.onUserAbort, .onInstFailed, .onInstSuccess or .onGUIEnd回调来处理各种情况。

.onGUIEnd每次都会触发(在窗口关闭后)

.onInstSuccess在安装成功时触发,就在安装窗口关闭之前

.onInstFailed当用户在安装失败后点击“取消”按钮时

.onUserAbort当用户点击“取消”按钮时,安装尚未失败。

如您所见,所有案例都已处理,请参阅 NSIS 手册了解详细信息。

于 2013-04-04T11:39:07.663 回答
0

正如 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

如果您正在寻找“最小化到托盘”选项来隐藏 UI,并能够通过单击图标将其恢复,然后检查HideWindowShowWindow

于 2013-04-04T16:46:05.540 回答