【发布时间】:2013-03-20 22:18:00
【问题描述】:
我可以通过基于 c++ 的 Windows 服务访问 iTunes com 界面吗?从 Windows 服务调用时,它在 cocreateinstance() 函数中失败。作为一个正常的应用程序,相同的代码工作正常。此服务是通过转换此工作应用程序来创建的。它适用于其他 COM。
【问题讨论】:
-
可能 iTunes 想与桌面交互,但不能从会话 0 开始
-
错误码是什么?
-
iTunes 是作为服务运行的,还是您尝试从(单独的)Windows 服务应用程序访问正在运行的 iTunes?
-
实际上我已经创建了一个交互式服务,并且在调用 CoCreateInstance 之前我也在模拟当前用户。这样我就可以使用其他 COM 但不能使用 iTunes COM。它会给我在 CoCreateInstance() 之前放置的日志,但在调用 CoCreateInstance() 之后没有日志。
-
不,您不会,会话 0 隔离会阻止您启动 UI,有一些方法可以绕过它,但我确信它不适用于 iTunes。搜索会话 0 交互式服务。
标签: c++ service com itunes itunesartwork