2015 年 3 月更新后从 Spotify 应用程序获取当前曲目信息

Fetch the current track info from Spotify app after March 2015 update

我想使用 autohotkey 从 Spotify windows 客户端提取当前曲目信息。

虽然这个问题 solved some of the problems (the media playback issues) in the commonly used ahk script (can be found in this question: 及以下),曲目信息快捷方式仍然不起作用。

^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 spy 可以找到文本 "Chrome Legacy Window",这就是它找到的全部内容。

有没有办法进一步研究这个问题?我注意到 Windows 任务管理器中有 3 个 spotify.exe 实例。调查其他流程会有帮助吗?

PS AHK Window Info 1.7 (http://www.autohotkey.com/board/topic/8204-ahk-window-info-17/) 目前无法下载。所以我只能使用 Decarlo 的 Ahk Window Spy 1.3.3。

哦,我在 http://www.autohotkey.com/board/topic/8204-ahk-window-info-17/page-6 找到了 AHK 的代码 Window 作为剧透粘贴的信息 但这没有帮助。查到的资料不超过啊Window间谍

(编辑) 来自微软的 UISpy 为我提供了更多信息,但无法在 Spotify 客户端中获取文本。而且,我意识到这在安全方面是一件好事(否则恶意软件可以读取我的电子邮件密码等)。因此,除非 Spotify 客户端想要公开此信息,否则很难或不可能通过 ahk 做到这一点。在这种特殊情况下,这是正确的还是任何切肉刀方法?

编辑:不再需要此解决方案。歌曲艺术家和标题已添加回 Window 标题。

最好的解决办法是将 Spotify 从 FileHorse 降级到 0.9 版本。然后执行以下操作:

  1. 转到C:\Users\YOURUSERNAME\Appdata\Roaming\Spotify
  2. 新建一个空文本文件
  3. 命名为Spotify_new.exe
  4. 右键单击文件并制作文件read-only
  5. 复制此文件并将新文件命名为 Spotify_new.exe.sig
  6. Spotify 需要删除这些文件才能进行自动升级。这两个文件上的 read-only 标志将阻止升级发生。

我目前没有遇到任何问题运行旧版本。