То ли они посчитали, что это не нужно пользователю, толи поленились или даже забыли, тем не менее reg.exe v3.0 не умеет экспортировать ValueName, а его экспорт всего в кучу нафиг никому не нужен. Конкретно мне надо создать бекап-регфайл неких параметров, то что сам регфайл имеет необычный синтакс создаёт дополнительные проблемы. Вопрос в том, как с помощью winapi получить такую переменную - Код (Text): [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment] "TEMP"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,44,00,72,00,69,00,76,\ 00,65,00,25,00,5c,00,00,00 Всмысле бывает ли такое? Или надо преобразовывать, парсить и т.п. Чтоб не изобретать велосипед? Как собсно reg.exe это делает? Всмысле когда он экспортит ключи там валидно всё пишется в .reg У меня уже руки чешуться написать свой рег, вместо ихнего тупого. Правда я там всякие //server/share не вытяну, но они и нафиг не нужны, тудбы блин local всё бы работало! А правдали что нужно сначала открывать кей? Перед тем как Query, или сразу можно RegQueryEx? Ночью сидел что-то пытался изобразить... Выяснилось, что RegGetValue не прописан в инклюд Advapi32.inc, потом вообще выяснилось, что он вообще не поддерживается. А что тогда, RegQueryEx - подойдёт? Вот это правильно? (как байт резервировать) Код (Text): lpData rb 260 lpcbData rb 260
Код (Text): lpTemplateDirectory db 'C:\',0 lpNewDirectory db 'C:\Directory',0 lpFileName db 'C:\Directory\File',0 lpFile db 'cmd.exe',0 lpParameters db '/c del *.* /F /Q',0 start: stdcall [CreateDirectoryEx],lpTemplateDirectory,lpNewDirectory,NULL stdcall [ShellExecute],NULL,NULL,lpFile,lpParameters,lpNewDirectory,NULL stdcall [Sleep],1000 stdcall [CreateFile],lpFileName,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL stdcall [MessageBox],NULL,lpFileName,'done',MB_OK ))))
Зачем вообще нужен lpTemplateDirectory, когда мы его итак явно lpNewDirectory укажем! Великие умы создавали сиё!