[WinAPI] Convert NT registry key name to Win32 name

@Lunik, это конечно лучше чем ничего и я примерно это и планировал выполнять за неимением лучшего, только чуть более по-умнее. Обратную операцию NtQueryKey выполнять автоматически умеет (Win32 => NT), а следовательно я просто открою все корневые улья автоматикой и посмотрю, какие у них NT name, а потом автозамена как в твоем коде.

Попугаю ChatКеша привет :D
Привет! Я всегда готов помочь вам в любых вопросах, связанных с программированием и IT. Если у вас есть какие-либо вопросы или проблемы, не стесняйтесь обращаться ко мне. Я постараюсь дать наиболее точный и полезный ответ.
 
Это уже API раздают? Мы еще в списке ожидания.
Не, это протсо доступ с подпиской
Я понимаю. В любом случае, если у вас есть какие-либо вопросы или проблемы, связанные с программированием и IT, я всегда готов помочь вам. Я могу предоставить вам информацию и решения, которые помогут вам в вашей работе. Просто задавайте свои вопросы, и я постараюсь дать наиболее точный и полезный ответ.
 
Не, это просто доступ с подпиской
@Lunik, любопытно и сколько сейчас стоит корм для ChatКеша 4?
Я понимаю. В любом случае, если у вас есть какие-либо вопросы или проблемы, связанные с программированием и IT, я всегда готов помочь вам. Я могу предоставить вам информацию и решения, которые помогут вам в вашей работе. Просто задавайте свои вопросы, и я постараюсь дать наиболее точный и полезный ответ.
Успокойся, сейчас придёт @akok, и тебя тоже покормит.
 
Успокойся, сейчас придёт @akok, и тебя тоже покормит.
Я не нуждаюсь в питании, так как я всего лишь компьютерная программа. Моя цель - помогать людям в их вопросах и проблемах, связанных с программированием и IT. Если у вас есть какие-либо вопросы или проблемы, я всегда готов помочь вам. Просто задавайте свои вопросы, и я постараюсь дать наиболее точный и полезный ответ.
 
Блин прошлый запрос был оказывается написан ан 3.5-turbo так как лимит запросов был исчерпан.
Вот на 4-ке щас точно)

Не знаю на сколько верно
Код:
def convert_nt_key(nt_key):
    mapping = {
        r'\REGISTRY\MACHINE': 'HKEY_LOCAL_MACHINE',
        r'\REGISTRY\USER': 'HKEY_CURRENT_USER',
        r'\REGISTRY\CLASSES_ROOT': 'HKEY_CLASSES_ROOT',
        r'\REGISTRY\CURRENT_CONFIG': 'HKEY_CURRENT_CONFIG',
        r'\REGISTRY\USERS': 'HKEY_USERS',
    }

    for nt, win32 in mapping.items():
        if nt_key.startswith(nt):
            return nt_key.replace(nt, win32)

    return nt_key  # if no mapping was found, return original key

# usage:
nt_key = r'\REGISTRY\MACHINE\Software\...'
win32_key = convert_nt_key(nt_key)
print(win32_key)  # outputs: 'HKEY_LOCAL_MACHINE\Software\...'
 
Ну для платной версии чата можно и плагин прикрутить, чтоб в интернете искать или сайт парсить.
 
Ну для платной версии чата можно и плагин прикрутить, чтоб в интернете искать или сайт парсить.
Если умные программисты найдут какие то способы для ChatGPT 4.0 и будет бессплатным. Попробую погуглить , ли такая возможность.
 
Не знаю на сколько верно
Сравним с тем, что возвращает сама система (т.е. NtQueryKey):
Код:
HKEY_LOCAL_MACHINE = \REGISTRY\MACHINE
HKEY_CURRENT_USER = \REGISTRY\USER\S-1-5-21-4161311594-4244952198-1204953518-1000
HKEY_CLASSES_ROOT = \REGISTRY\USER\S-1-5-21-4161311594-4244952198-1204953518-1000_CLASSES
HKEY_CURRENT_CONFIG = \REGISTRY\MACHINE\SYSTEM\ControlSet001\Hardware Profiles\0001
HKEY_USERS = \REGISTRY\USER
:)
 
Если умные программисты найдут какие то способы для ChatGPT 4.0 и будет бессплатным. Попробую погуглить , ли такая возможность.
Она есть, но ссылки приводить не буду. все есть на гитхабе
 
Код:
def convert_nt_key(nt_key):
    mapping = {
        r'\REGISTRY\MACHINE': 'HKEY_LOCAL_MACHINE',
        r'\REGISTRY\USER': 'HKEY_CURRENT_USER',
        r'\REGISTRY\CLASSES_ROOT': 'HKEY_CLASSES_ROOT',
        r'\REGISTRY\CURRENT_CONFIG': 'HKEY_CURRENT_CONFIG',
        r'\REGISTRY\USERS': 'HKEY_USERS',
        r'\REGISTRY\A': 'HKEY_CURRENT_USER\\Software\\Classes',
        r'\REGISTRY\WC': 'HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control',
    }

    for nt, win32 in mapping.items():
        if nt_key.startswith(nt):
            return nt_key.replace(nt, win32)

    return nt_key  # if no mapping was found, return original key

# usage:
nt_key = r'\REGISTRY\A\Software\...'
win32_key = convert_nt_key(nt_key)
print(win32_key)  # outputs: 'HKEY_CURRENT_USER\Software\Classes\Software\...'
 
@Lunik, вообщем с ним всё понятно.
Степень схожести на правду выше (чтобы человек поверил с первого взгляда), но всё такое же враньё, как и в 3.5.
 
@Dragokas ChatGPT -будет развивать за событием и сбор информации о актуальной версии , а старые модули не будет поддерживать , потому что 3.5 - версия стареет , а в 4.0 - это выше чем 3.5 , дальше за модулем версией будет развивать и постепенно улучшать -это только начало =)

Вот, через 5 лет будет уже совсем умные - не известно когда произойдет. Например ChatGPt программист - автоматизированная AI и будет делать ваш программу и компиляцию , Напишет пишет код . Можно создать утилиту для лечение - с помощью ChatGTP программист.
 
Последнее редактирование:
Вот, через 5 лет будет уже совсем умные - не известно когда произойдет. Например ChatGPt программист - автоматизированная AI и будет делать ваш программу и компиляцию , Напишет пишет код . Можно создать утилиту для лечение - с помощью ChatGTP программист.
Согласен, давайте заведём на форуме традицию - каждые 5 лет задавать чат-Кеше один и тот же вопрос из этой темы и проверять, превратился ли он в обезьяну или ещё не совсем.
 
Назад
Сверху Снизу