QAxWidget and Microsoft ActiveX: Listing all available ActiveX controls
-
I am working on a Qt application that uses an ActiveX component.
I have zero knowledge about ActiveX itself.Setting the control fails to iinstantiate.
QAxBase::setControl: requested control {c13456-ac52-638d-bc30-b6c1548df2dd7} could not be instantiated
Is it possible to get a list of all available ActiveX controls I can connect?
Perhaps the CLSID is wrong in this case.
Perhaps the ActiveX control it try to set is not "installed". -
I am working on a Qt application that uses an ActiveX component.
I have zero knowledge about ActiveX itself.Setting the control fails to iinstantiate.
QAxBase::setControl: requested control {c13456-ac52-638d-bc30-b6c1548df2dd7} could not be instantiated
Is it possible to get a list of all available ActiveX controls I can connect?
Perhaps the CLSID is wrong in this case.
Perhaps the ActiveX control it try to set is not "installed".@DJViking said in QAxWidget and Microsoft ActiveX: Listing all available ActiveX controls:
Is it possible to get a list of all available ActiveX controls I can connect?
Not terribly easily, and depends whether you mean at runtime or at designtime. Certainly there is no Qt call for this. You can Google for
list of all available ActiveX controls
and get various hits, some for you to use interactively (if you want to know at designtime) or some for a runtime query (via Windows Registry).Does the code contain a hard-coded reference to
{c13456-ac52-638d-bc30-b6c1548df2dd7}
CLSID? -
The code has a hard coded reference to this CLSID.
ui.axWidget->setControl("{c13456-ac52-638d-bc30-b6c1548df2dd7}");
I found out that installed ActiveX on Windows is listed under the following Registry Key HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID
Checking there I could not find the ActiveX for the UID I had in the application.
So looks like it is not installed. -
The code has a hard coded reference to this CLSID.
ui.axWidget->setControl("{c13456-ac52-638d-bc30-b6c1548df2dd7}");
I found out that installed ActiveX on Windows is listed under the following Registry Key HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID
Checking there I could not find the ActiveX for the UID I had in the application.
So looks like it is not installed.@DJViking said in QAxWidget and Microsoft ActiveX: Listing all available ActiveX controls:
under the following Registry Key HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID
Yes, as per https://www.codeproject.com/Questions/94714/How-do-I-get-a-list-of-installed-ActiveX-and-remov from the Googling I suggested. But then there are "millions" of items under that Registry key! OK to look through for a particular CLSID, not so good to display a list of them :)
Googling for
{c13456-ac52-638d-bc30-b6c1548df2dd7}
returns no hits, so goodness what that ActiveX control is supposed to be. You will have to look through your code for that hard-coded string to see what is supposed to be. -
Hi, note that {c13456-ac52-638d-bc30-b6c1548df2dd7} is not a valid CLSID (it should consist of 8 hex digits - 4 - 4 - 4 -12 hex digits)
for more see https://en.wikipedia.org/wiki/Universally_unique_identifierThat could be the reason for not finding it...
-
Hi, note that {c13456-ac52-638d-bc30-b6c1548df2dd7} is not a valid CLSID (it should consist of 8 hex digits - 4 - 4 - 4 -12 hex digits)
for more see https://en.wikipedia.org/wiki/Universally_unique_identifierThat could be the reason for not finding it...
@hskoglund
I don't think you are right --- the link you reference shows exactly this/the OP's format!{c13456-ac52-638d-bc30-b6c1548df2dd7}
displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens). For example:
123e4567-e89b-12d3-a456-426614174000Microsoft GUIDs are sometimes represented with surrounding braces:
{123e4567-e89b-12d3-a456-426652340000}Here is a similar one to the OP's which does appear in my
CLSID
registry:
{c15e6bf0-6351-4588-ac4f-ef7d5ec8c16e}