如何在无人值守模式下使用iTunesLib?

时间:2011-07-16 14:53:57

标签: c# itunes com-interop itunes-sdk

我正在制作一个小应用程序来自动化我的iPod更新。我的目的是将我的iTunes资料库与我的实际资源库同步,并为iPod重新编码质量较低的歌曲。

我使用iTunes.exe中的Interop“iTunesLib”,我正在使用C#。

我的程序工作得很好,但我的iTunes存在很大问题。如果iTunes在此过程中打开了一个模态框(可能是“导入歌曲时出错”,或者甚至只是“在iTunes启动时有一个新的更新”),那么我的应用程序完全卡住了,必须等待用户关闭弹出窗口。

这很烦人,因为我希望晚上运行我的应用程序,重新导入/重新编码的过程需要一段时间。

有没有办法告诉iTunes不弹出任何消息,还是要求它关闭已打开的消息?

2 个答案:

答案 0 :(得分:0)

也许尝试调用传入FALSE的IiTunes.VisualsEnabled方法。

来自iTunes COM SDK:

HRESULT IiTunes::VisualsEnabled  (  [in] VARIANT_BOOL  shouldEnable   )   

   Set whether visuals should be displayed. 


Parameters:
 shouldEnable  True if visuals should be displayed. 

Return values:
 S_OK  The operation was successful.  
 E_ACCESSDENIED  Visuals cannot be enabled or disabled. For example, this can happen if the iTunes Store is currently being viewed.  
 E_FAIL  An unexpected error occurred.  

答案 1 :(得分:0)

好吧,在这个问题开放一年多之后,正确答案似乎是:我不能

但是有几个alternative libraries可能有用。