如何使用 Ruby 检测在 Windows 平台上是不是按下了 SHIFT 或 ALT 键?

Posted

技术标签:

【中文标题】如何使用 Ruby 检测在 Windows 平台上是不是按下了 SHIFT 或 ALT 键?【英文标题】:How to use Ruby to detect whether on Windows Platform, the SHIFT or ALT key is being pressed?如何使用 Ruby 检测在 Windows 平台上是否按下了 SHIFT 或 ALT 键? 【发布时间】:2009-11-02 01:11:25 【问题描述】:

我使用 Ruby 编写了一个脚本来自动点击 Windows 应用程序的屏幕。一切都很好,除了在某些情况下程序会继续单击并且我没有机会单击 Shell 并单击 CTRL-C。

所以需要在循环的某处放置一些“sleep”语句,比如“sleep 3”,这样就有3秒的时间让用户切换到Shell并按下CTRL-C。

但是有没有办法在 Ruby 程序运行时检测 Windows 平台上是否按下了 SHIFT 或 ALT(或 BOTH),以便在检测到时执行“睡眠 10”,以便自动点击停止,然后有 10 秒的时间停止 Ruby 程序?

【问题讨论】:

【参考方案1】:

On Win32, how to detect whether a Left Shift or Right ALT is pressed using Perl, Python, or Ruby (or C)?有一些线索……

ruby ffi 也可能有帮助

【讨论】:

以上是关于如何使用 Ruby 检测在 Windows 平台上是不是按下了 SHIFT 或 ALT 键?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 .NET 检测 Windows 64 位平台?

如何在 Linux 上使用 Ruby 实现实时 USB 存储检测?

如何检查是不是已在 Ruby 和 Windows 控制台中按下箭头键

检测 Windows 还是 Linux? [复制]

如何在windows的rails上安装ruby

如何使用 Ruby 检测人脸?