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

问题描述 投票:0回答:1

我只想问一下Ruby中的哪个命令允许您检查在Ruby中运行的应用程序或正在运行的应用程序是否即将关闭?例如,我有一个可执行文件,我运行,然后单击窗口上的关闭按钮。我想弹出一个对话框,说“你即将关闭”。按下OK按钮后,窗口最终关闭。

你怎么能用Ruby做到这一点?

ruby windows winapi
1个回答
1
投票

我不知道Ruby中的工作原理,但一般情况下,在Windows上,当窗口收到关闭请求时,其窗口过程会收到WM_CLOSE消息。这是向用户显示提示的位置。如果应用程序然后想要阻止窗口关闭(因为用户想要拒绝它等),应用程序可以简单地跳过销毁窗口,而不是将消息传递给默认消息处理程序(DefWindowProc())。

在用户单击窗口的关闭按钮,或从窗口的弹出系统菜单中选择“关闭”选项,或在窗口处于焦点时按ALT-F4的情况下,窗口会收到WM_SYSCOMMAND(SC_CLOSE)消息,如果消息传递给默认消息处理程序,然后窗口接收WM_CLOSE消息。

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

© www.soinside.com 2019 - 2024. All rights reserved.