如何检查您是否单击了窗口上的关闭按钮? (红宝石)

时间:2018-09-06 20:15:00

标签: ruby windows winapi

我只想问一下Ruby中的哪个命令可以让您检查Ruby中创建的应用程序或正在运行的应用程序是否即将关闭?例如,我运行了一个可执行文件,然后单击了窗口上的关闭按钮。我想弹出一个对话框,提示“您将要关闭”。按下“确定”按钮后,窗口最终关闭。

如何在Ruby中做到这一点?

1 个答案:

答案 0 :(得分:1)

我不知道事情在Ruby中如何工作,但是通常在Windows上,当窗口收到关闭请求时,其窗口过程会收到一条WM_CLOSE消息。在这里向用户显示提示。如果应用随后要阻止该窗口关闭(因为用户要拒绝该窗口等),则该应用可以直接跳过销毁该窗口,而不将消息传递给默认消息处理程序(DefWindowProc()

如果用户单击窗口的关闭按钮,或者从窗口的弹出系统菜单中选择“关闭”选项,或者在窗口焦点对准时按 ALT-F4 ,则该窗口会收到一条WM_SYSCOMMAND(SC_CLOSE)消息,如果该消息传递给默认消息处理程序,则该窗口会收到WM_CLOSE消息。

获取该信息,并根据需要将其转换为Ruby。