环境:Qt5.5
编译器:QtCreator
对于Windows平台,Qt有特有模块来调用ActivityX控件
比如调用WMP,我们需要知道WMP的CLSID
最初的时候,我用的CLSID是{22D6F312-B0F6-11D0-94AB-0080C74C7E95}
但是这个版本的wmp比较旧,很多功能都无法实现,最后才知道,应该调用{6BF52A52-394A-11D3-B153-00C04F79FAA6}才能实现更多的功能(针对Win7,8,8.1皆可,XP和10没有测试)
然后在Qt pro文件中添加Qt+=axcontainer来调用Ax模块
include<QAxWidget>
QAxWidget *wmp=new QAxWidget(parent);
wmp->setControl("CLSID")
wmp->show();
即可在parent控件上调用wmp
然后使用dynamicCall()来调用成员函数,setProporty()来调用属性参数
然而我们并不知道wmp有那些参数和成员函数
对此,Qt提供了dumpdoc命令来自动深沉对应CLSID控件的说明文档
只要我们的Qt配置了环境变量
打开命令提示符,输入 dumpdoc {CLSID} -o file.html
就会自动在目标目录生成关于该控件的所有参数、函数、属性的说明文档
比较头疼的是,由于WindowsMediaPlayer的特性,有大部分的参数、成员函数是调用无效的,如果调用了这样的命令,那么在程序运行之中,虽然可以通过编译,但是在输出控制台会弹出相应的提示信息