我正在尝试使用 AutoHotkey (v1.1) 和 iTunes Windows 11 从其持久 ID 中检索轨道对象。该脚本运行良好,直到我尝试使用该ItemByPersistentID
方法。
objITunesunesApp := ComObjCreate("iTunes.Application")
objITunesLibrary := objITunesunesApp.Sources.Item(1)
objITunesPlaylist := objITunesLibrary.Playlists.Item(1)
objITunesTrack := objITunesPlaylist.Tracks.Item(1)
; Test if objects are OK
MsgBox, % objITunesTrack.Name ; Display the song name - OK
; Get high and low IDs
intIDHigh := objITunesunesApp.ITObjectPersistentIDHigh(objITunesTrack)
intIDLow := objITunesunesApp.ITObjectPersistentIDLow(objITunesTrack)
MsgBox, %intIDHigh% %intIDLow% ; Display: "-1071797520 -947434212" OK
; Try to get the track again using the persistent IDs
objTrackByID := objITunesLibrary.ItemByPersistentID(intIDHigh, intIDLow)
; Error: 0x80020006 - Name unknown
; Specifically: ItemByPersistentID
MsgBox, % "objTrackByID.Name: " . objTrackByID.Name ; name empty
我打电话ItemByPersistentID
的方式正确吗?谢谢。