我正在开发一个windows应用程序,它有一个内置在it.The C++部件中的冲击波闪存播放器,应该能够调用Flash电影方法,而副versa.Initial实验是使用MFC.It works.But完成的,现在我想将它移植到Qt,因为它允许轻松的UI development.Qt获得QAxObject,它通过setCotrol()方法获得分配给它的ActiveX控件,这个方法应该得到ActiveX的classID或name.Because,classID比名字更可靠,因为我还没有找到使用名称访问flash player ActiveX的例子,现在,我想知道如何从is的系统注册表中检索该classID。我想,对于每台机器,某些特定的activeX classID可能会有所不同(如果我在它上错了,请更正),.If是真的,然后我需要访问注册表,找到激波activeX分类,然后将它传递给QaxObject::setControl() method.How,我这样做吗?
忘记提到,在MFC应用程序中,ActiveX控件将自动获得请求的ActiveX,一旦您从可用的系统controls.In Qt列表中选择ActiveX类型,您就没有这样的选项了。
阅读这个http://www.nirsoft.net/utils/acm.html,我知道CLASSID在任何machine.Is上都是常量,是真的吗?如果是,请放弃我的问题,因为没有理由在特定的机器上搜索ActiveX键,如果它总是相同的话。谢谢。
发布于 2011-10-25 21:16:21
最好是通过mime类型从注册表查询。您可以在这里找到有关存储位置的详细信息:
http://msdn.microsoft.com/en-us/library/aa751976%28v=vs.85%29.aspx
您可以在注册表中查找mimetype并从中获取CLSID。您也可以通过名称查找它;这两个注册表项的位置将在该文档中解释。
https://stackoverflow.com/questions/7895704
复制相似问题