Удалить значение в реестре после перезагрузки

Тема в разделе "WASM.BEGINNERS", создана пользователем XshStasX, 10 авг 2010.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Можно ли как то значению в реестре поставить флаг удаления/очистки значение после перезагрузки ?...
    И еще вопросик какой именно раздел в реестре наиболее правильно использовать для хранения настроек программы ?...
     
  2. churik

    churik New Member

    Публикаций:
    0
    Регистрация:
    28 авг 2008
    Сообщения:
    19
    Полагаю в HKEY_LOCAL_MACHINE\SOFTWARE.
    Такое не возможно.
     
  3. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    Код (Text):
    1. include '%fasm%\win32ax.inc'
    2. section '.code' executable
    3. start:
    4.         invoke ExpandEnvironmentStrings,lp1,lp2,400h
    5.         invoke MoveFileEx,lp2,NULL,MOVEFILE_DELAY_UNTIL_REBOOT
    6. exit:
    7.         invoke  ExitProcess,0
    8.  
    9. section '.data' readable writeable
    10.         lp1 db '%SystemRoot%\system32\ntkrnlpa.exe',0
    11.         lp2 db ?
    12.  
    13. .end start
    Запишет комманду сюда:
    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager]
    "PendingFileRenameOperations" REG_MULTISZ "..."
    Будь осторожней )))
     
  4. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    HKLM\Software - быстрый раздел, HKCU загружается медленее видимо сказываются всякие
    дополнения секьюрности, поэтому я всегда юзаю
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
    и даже
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon | Userinit
    =)
     
  5. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    Кстати, удалить значение в реестре какраз и можно какойнибудь внешней утилитой и даже скриптом.
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Для значения нет, а для ключа можно при создании указать флаг REG_OPTION_VOLATILE
     
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Semiono
    Если перезагрузку выполняешь программно, то перед командой на перезагрузку выполни
    Код (Text):
    1.     call _imp__RegOpenKeyA@12
    2.     ...
    3.     push Key
    4.     call _imp__SHDeleteKeyA@8;удаляем непустой ключ
    5.     push Key
    6.     call _imp__RegCloseKey@4
     
  8. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    offtop: я вот подумал, что если default - template фасму зделать, положить нечто такое
    Код (Text):
    1. include '%fasm%\win32ax.inc'
    2. section '.code' executable
    3. start:
    4.  
    5. exit:
    6.         invoke ExitProcess,NULL
    7.  
    8. section '.data' readable
    9.  
    10. section '.rsrc' resource readable
    11.         directory RT_ICON,icons,RT_GROUP_ICON,group_icons,RT_VERSION,versions
    12.  
    13.         resource icons,\
    14.         1,LANG_NEUTRAL,icon_data1,\
    15.         2,LANG_NEUTRAL,icon_data2,\
    16.         3,LANG_NEUTRAL,icon_data3,\
    17.         4,LANG_NEUTRAL,icon_data4
    18.         resource group_icons,17,LANG_NEUTRAL,main_icon
    19.         resource versions,1,LANG_NEUTRAL,version
    20.  
    21.         icon main_icon,\
    22.         icon_data1,'%fasm%\exec1.ico',\
    23.         icon_data2,'%fasm%\exec2.ico',\
    24.         icon_data3,'%fasm%\exec3.ico',\
    25.         icon_data4,'%fasm%\exec4.ico'
    26.  
    27.         versioninfo version,VOS__WINDOWS32,VFT_APP,VFT2_UNKNOWN,LANG_ENGLISH+SUBLANG_DEFAULT,0,\
    28.                     'FileDescription','',\
    29.                     'LegalCopyright','',\
    30.                     'FileVersion','1.0.0.0',\
    31.                     'ProductVersion','1.0.0.0',\
    32.                     'OriginalFilename','',\
    33.                     'Company',''
    34. .end start
    И даже аттрибут -ro додумался поставить, чтоб он спрашивал куда сохранить...
    Но вот ещё бы открывалось это в IDE автоматически? :)

    Mikl___, загрузил! Что это за собаки, на мэйл похоже! call _imp__RegOpenKeyA@12
    О чём речь?
     
  9. DoctorWho

    DoctorWho New Member

    Публикаций:
    0
    Регистрация:
    16 июл 2010
    Сообщения:
    87
    [offtop]
    Semiono посмотри как линкуются сишные программы в MSVC. там имена импортов как раз такие. за собакой количество параметров передаваемые ф-ции(точнее байт). а Mikl___ навверное юзает MASM от мелкомягких, у которого линкер скорее всего похож на MSVCшный.
    [/offtop]
     
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Semiono
    если пользуешься инвоками, то речь об RegOpenKey, SHDeleteKey, RegCloseKey
     
  11. asd

    asd New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2005
    Сообщения:
    952
    Адрес:
    Russia
    Записать в RunOnce утилитку, которая удалит ключ.