我想使用autohotkey从Spotify Windows客户端提取当前曲目信息。
虽然这个问题Hotkey for next song in Spotify解决了常用ahk脚本中的一些问题(媒体播放问题)(可在此问题中找到:Newest Spotify update: Autohotkeys script broke及以下),但轨道信息快捷方式仍然存在不起作用。
^Down::
{
DetectHiddenWindows, On
SetTitleMatchMode 2
WinGetTitle, now_playing, ahk_class SpotifyMainWindow
;StringTrimLeft, playing, now_playing, 10
DetectHiddenWindows, Off
clipboard = %playing%`r`n
return
}
无论我正在播放什么歌,这都会给我“Spotify free”。
主要问题是托盘图标和任务栏图标在此更新后停止显示当前播放的歌曲信息。只有文本Windows间谍可以从任务栏图标找到现在“Spotify Free”。
所以,我尝试按照这个问题中的示例获取所有控制列表并在每个控制列表中提取文本:How to obtain textual contents from a window
但是,我只能找到两个控件(“Chrome_WidgetWin_01”和“Chrome_RenderWidgetHostHWND1”),而且Window间谍可以找到“Chrome Legacy Window”文本,这就是它找到的全部内容。
有没有办法进一步深入研究?我注意到在Windows任务管理器中有3个spotify.exe实例。调查其他流程有帮助吗?
PS AHK窗口信息1.7(http://www.autohotkey.com/board/topic/8204-ahk-window-info-17/)暂时无法下载。所以我只能使用Decarlo的Ahk Window Spy 1.3.3。
哦,我发现AHK窗口信息的代码粘贴在http://www.autohotkey.com/board/topic/8204-ahk-window-info-17/page-6的扰流板上 但它没有帮助。发现的信息不超过Ahk Window Spy。
(编辑) 来自microsoft的UISpy给了我更多信息,但是无法在Spotify客户端获取文本。并且,我意识到这在安全性方面是一件好事(否则恶意软件可以读取我的电子邮件密码等)。因此,除非Spotify客户端想要公开这些信息,否则很难或不可能通过ahk执行此操作。在这种特殊情况下,这是正确的还是任何切割方式?
答案 0 :(得分:1)
编辑:不再需要此解决方案。歌曲艺术家和标题已添加回窗口标题。
最佳解决方案是将Spotify降级为FileHorse的0.9版本。然后执行以下操作:
C:\Users\YOURUSERNAME\Appdata\Roaming\Spotify
此时我没有遇到任何运行旧版本的问题。