Ejemplo n.º 1
0
def GetTypelibVersions(IID):
    """
    Returns the list of installed versions of a
    given typelib. Versions are returned as a list
    of two element tuples of the form (major, minor)
    where major, minor are integers.

    """
    versions = []
    with OpenKey(HKEY_CLASSES_ROOT, 'Typelib\\' + IID) as key:
        subkeycount, _, _ = QueryInfoKey(key)

        for i in range(subkeycount):
            rawversion = EnumKey(key, i)

            # We're only interested in subkeys of the form
            # MAJORVERSION.MINORVERSION
            if rawversion.count('.') != 1:
                continue

            rawmajor, rawminor = rawversion.split('.')
            # Versions are expressed in hex.
            major, minor = int(rawmajor, 16), int(rawminor, 16)
            versions.append((major, minor))

    return versions
Ejemplo n.º 2
0
def GetTypelibVersions(IID):
    """
    Returns the list of installed versions of a
    given typelib. Versions are returned as a list
    of two element tuples of the form (major, minor)
    where major, minor are integers.

    """
    versions = []
    with OpenKey(HKEY_CLASSES_ROOT, 'Typelib\\' + IID) as key:
        subkeycount, _, _ = QueryInfoKey(key)

        for i in range(subkeycount):
            rawversion = EnumKey(key, i)

            # We're only interested in subkeys of the form
            # MAJORVERSION.MINORVERSION
            if rawversion.count('.') != 1:
                continue

            rawmajor, rawminor = rawversion.split('.')
            # Versions are expressed in hex.
            major, minor = int(rawmajor, 16), int(rawminor, 16)
            versions.append((major, minor))

    return versions