我只想问一下Ruby中的哪个命令允许您检查在Ruby中运行的应用程序或正在运行的应用程序是否即将关闭?例如,我有一个可执行文件,我运行,然后单击窗口上的关闭按钮。我想弹出一个对话框,说“你即将关闭”。按下OK按钮后,窗口最终关闭。
你怎么能用Ruby做到这一点?
我不知道Ruby中的工作原理,但一般情况下,在Windows上,当窗口收到关闭请求时,其窗口过程会收到WM_CLOSE
消息。这是向用户显示提示的位置。如果应用程序然后想要阻止窗口关闭(因为用户想要拒绝它等),应用程序可以简单地跳过销毁窗口,而不是将消息传递给默认消息处理程序(DefWindowProc()
)。
在用户单击窗口的关闭按钮,或从窗口的弹出系统菜单中选择“关闭”选项,或在窗口处于焦点时按ALT-F4的情况下,窗口会收到WM_SYSCOMMAND(SC_CLOSE)
消息,如果消息传递给默认消息处理程序,然后窗口接收WM_CLOSE
消息。
获取该信息并根据需要将其转换为Ruby。