如何访问COM接口中定义的枚举?具体来说,我已经创建了一个iTunes.Application的新实例:
var iTunesApp = WScript.CreateObject("iTunes.Application");
...我希望能够使用COM中定义的某些枚举
iTunesTrackCOM.idl文件参考
[...]
的枚举
[...]
enum ITVideoKind {
ITVideoKindNone = 0,
ITVideoKindMovie,
ITVideoKindMusicVideo,
ITVideoKindTVShow
}
我已经尝试过iTunesApp.ITVideoKindTVShow,但这似乎不起作用。
或者,我如何通过shell或类似的东西以交互方式查看iTunesApp对象?
答案 0 :(得分:2)
您不能按名称使用枚举。你必须使用常量:0,1,2 ......
当你处理比特字段时,它真的很棒。您必须使用位标志的十进制值,例如flags
的{{1}}参数。{/ p>
答案 1 :(得分:0)
您可以使用tlb2const之类的工具从类型库生成常量。
请在此处查看我的回答: Is it possible to expose a C# Enum to COM Interop callers, and if so, how?