Код (Text): include '%fasm%\win64ax.inc' section '.code' executable start: sub rsp, 8*5 invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,'Software\Microsoft\NET Framework Setup\NDP\v3.5',NULL,KEY_READ,root invoke RegQueryValueEx,[root],'Install',NULL,NULL,init,lpcbData invoke RegCloseKey,[root] cmp dword [init],0x00000001 je exit invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,'System\Setup',NULL,KEY_READ,root invoke RegQueryValueEx,[root],'SystemSetupInProgress',NULL,NULL,system,lpcbData invoke RegCloseKey,[root] invoke RegDeleteKey,HKEY_LOCAL_MACHINE,'Software\Wow6432Node\Microsoft\PCHealth\ErrorReporting\DW\Installed' invoke RegDeleteKey,HKEY_LOCAL_MACHINE,'Software\Wow6432Node\Microsoft\PCHealth\ErrorReporting\DW' invoke RegCreateKeyEx,HKEY_LOCAL_MACHINE,'System\Setup',NULL,NULL,\ REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,root,NULL invoke RegSetValueEx,[root],'SystemSetupInProgress',NULL,REG_DWORD,setup,4 invoke RegCloseKey,[root] invoke CreateProcess,NULL,'dotnetfx35.exe /q /norestart',NULL,NULL,DETACHED_PROCESS,\ NORMAL_PRIORITY_CLASS,NULL,NULL,lpStartupInfo,lpProcessInformation invoke WaitForSingleObject,[lpProcessInformation.hProcess],0xffffffff invoke RegCreateKeyEx,HKEY_LOCAL_MACHINE,'System\Setup',NULL,NULL,\ REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,root,NULL invoke RegSetValueEx,[root],'SystemSetupInProgress',NULL,REG_DWORD,system,4 invoke RegCloseKey,[root] exit: invoke ExitProcess,NULL section '.data' readable setup dd 0x00000001 section '.data' readable writable init rd 1 system rd 1 root dd NULL lpcbData dd MAX_PATH lpStartupInfo STARTUPINFO lpProcessInformation PROCESS_INFORMATION section '.idata' import readable library advapi32,'ADVAPI32.DLL',kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL' include '%fasm%\api\advapi32.inc' include '%fasm%\api\kernel32.inc' include '%fasm%\api\shell32.inc' Всё ли правильно, ато штука ответственная если заглючит. И ещё проболемма, что RegDeleteKey не удаляет рекурсивно подразделы! RegDeleteTree - есть только в Vista, а мне надо XP. Шаманство с удалением ключа DW я не понял, просто прочитал в интернете, может кто знает зачем его вообще затирать? Собственно ставлю FrameWork на T13
один забавный способ придумал Код (Text): invoke WritePrivateProfileString,'AddReg','HKLM,"Software\Microsoft\Windows\CurrentVersion\Setup","DriverCachePath",0x00020002,"%WinDir%\system32";','','.\HIVESFT.INF' так как нормального не знаю
Помогите со строками?? Код (Text): include '%fasm%/win32ax.inc' section '.code' executable start: invoke RegOpenKeyEx,HKEY_CURRENT_USER,'Software\Image-Line\FL Studio 10\General',NULL,KEY_READ,root invoke RegQueryValueEx,[root],'BackPicFileName',NULL,NULL,lpInf,lpcbData invoke RegCloseKey,[root] cld mov ecx,$-lpInf lea edi,[lpInf] mov al,'\' repne scasb cld invoke MessageBox,NULL,edi,'',MB_OK exit: invoke ExitProcess,NULL .end start section '.data' readable writeable root dd NULL lpInf rd MAX_PATH lpcbData dd MAX_PATH Почему если я ставлю STD не получается читать справа налево?
Я нашёл такое решение, правдо тупо наверно Код (Text): cld mov ecx,$-lpInf lea edi,[lpInf] mov al,'.' repne scasb std mov al,'\' repne scasb cld add edi,2 invoke MessageBox,NULL,edi,'',MB_OK забыл сказать, в реестре вот такие данные H:\10\FL\Artwork\Wallpapers\Grid.png, а мне надо путь получить к файлу.