自动化 Winamp

这个章节演示了即使 Winamp 处于最小化或不活动状态时如何通过热键控制它. 这些代码已经在 Winamp 2.78c 上测试成功, 在其他主要版本应该也能良好运行. 请提交改进改进方法到论坛或联系作者.

这个例子设置 Ctrl+Alt+P 热键为按下 Winamp 的暂停/取消暂停按钮:

^!p::
{
    if not WinExist("ahk_class Winamp v1.x")
        return
; 否则, 上面设置了下面要使用的 "上次找到的" 窗口.
ControlSend "c"  ; 暂停/取消暂停
}

这里是 Winamp 2.x (在其他版本中可能也有效) 中的一些快捷键. 上面的例子可以改用这些按键:

要发送的键 效果
c 暂停/取消暂停
x 播放/重放/取消暂停
v 停止
+v 渐隐停止
^v 当前音轨结束后停止
b 下一首
z 上一首
{left} 后退 5 秒
{right} 前进 5 秒
{up} 增大音量
{down} 减小音量

下面这个例子获取 Winamp 中当前活动的音轨号:

TrackNumber := SendMessage(0x0400, 0, 120,, "ahk_class Winamp v1.x")
if (TrackNumber != "")
{
    TrackNumber += 1  ; Winamp 的计数从 0 开始, 所以加 1 进行调整.
    MsgBox "Track #" TrackNumber " is active or playing."
}
unixetc