Ejemplo n.º 1
0
def get_open_data(base, prog_id):
    try:
        k = Key(open_at=r'Software\Classes\%s' % prog_id, root=base)
    except WindowsError as err:
        if err.errno == winerror.ERROR_FILE_NOT_FOUND:
            return None, None
    with k:
        return k.get(sub_key=r'shell\open\command'), k.get(sub_key='DefaultIcon'), k.get_mui_string('FriendlyTypeName') or k.get()
Ejemplo n.º 2
0
def get_open_data(base, prog_id):
    try:
        k = Key(open_at=r'Software\Classes\%s' % prog_id, root=base)
    except WindowsError as err:
        if err.errno == winerror.ERROR_FILE_NOT_FOUND:
            return None, None, None
    with k:
        cmd = k.get(sub_key=r'shell\open\command')
        if cmd:
            parts = cmd.split()
            if parts[-1] == '/dde' and '%1' not in cmd:
                cmd = ' '.join(parts[:-1]) + ' "%1"'
        return cmd, k.get(sub_key='DefaultIcon'), k.get_mui_string('FriendlyTypeName') or k.get()
Ejemplo n.º 3
0
def get_open_data(base, prog_id):
    try:
        k = Key(open_at=r'Software\Classes\%s' % prog_id, root=base)
    except WindowsError as err:
        if err.errno == winerror.ERROR_FILE_NOT_FOUND:
            return None, None, None
    with k:
        cmd = k.get(sub_key=r'shell\open\command')
        if cmd:
            parts = cmd.split()
            if parts[-1] == '/dde' and '%1' not in cmd:
                cmd = ' '.join(parts[:-1]) + ' "%1"'
        return cmd, k.get(sub_key='DefaultIcon'), k.get_mui_string('FriendlyTypeName') or k.get()
Ejemplo n.º 4
0
def get_prog_id_map(base, key_path):
    desc, ans = None, {}
    try:
        k = Key(open_at=key_path, root=base)
    except WindowsError as err:
        if err.errno == winerror.ERROR_FILE_NOT_FOUND:
            return desc, ans
        raise
    with k:
        desc = k.get_mui_string('ApplicationDescription')
        if desc is None:
            return desc, ans
        for ext, prog_id in k.itervalues(sub_key='FileAssociations', get_data=True):
            ans[ext[1:].lower()] = prog_id
    return desc, ans
Ejemplo n.º 5
0
def get_prog_id_map(base, key_path):
    desc, ans = None, {}
    try:
        k = Key(open_at=key_path, root=base)
    except WindowsError as err:
        if err.errno == winerror.ERROR_FILE_NOT_FOUND:
            return desc, ans
        raise
    with k:
        desc = k.get_mui_string('ApplicationDescription')
        if desc is None:
            return desc, ans
        for ext, prog_id in k.itervalues(sub_key='FileAssociations', get_data=True):
            ans[ext[1:].lower()] = prog_id
    return desc, ans