поставить программу на автозагрузку

Тема в разделе "WASM.BEGINNERS", создана пользователем yuri, 29 янв 2008.

  1. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    подскажите пожалуйста код на masm как прописать в реестр программу что бы она загружалась при запуске windows
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    создать ключ в HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run или аналогичной ветке в HKLM
     
  3. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    а по подробней если можно
     
  4. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    Юрий вот ты не Воин Дзена, хоть у тебя так и сказано в статусе!
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    RTFMSDN for RegCreateKeyEx, RegSetValueEx
     
  6. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    .386
    .model flat,stdcall
    option casemap:none
    include \masm32\include\advapi32.inc
    include \masm32\include\advapi32.inc

    .const
    .....
    .....

    .data?

    HKey DWORD ?
    namebuf db 256 dup(?)
    bsz DWORD ?

    .data
    file_name DB "имя моей программы",0
    SubKey1 db "Software\Microsoft\Windows\CurrentVersion\Run",0

    .code
    start:
    invoke GetModuleFileName, NULL,ADDR namebuf ,MAX_PATH

    invoke RegOpenKeyEx, HKEY_CURRENT_USER,ADDR SubKey1,0, KEY_WRITE,ADDR HKey

    invoke RegSetValueExA, HKey ,addr file_name,0,REG_SZ,ADDR namebuf,ADDR bsz

    invoke RegCloseKey ,HKey

    end start
    Мужики мож что то не правильно
    Ну не получается и ВСЕ
    Топик для новичков ,как я понял
    Если что извиняйте за нозойливость
    понять ОХОТА!??????????????
     
  7. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    А в отладчике что видно?
     
  8. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    в OllyDBG после RegSetValueExA, требует Shift+7,8,9 по ходу что то не то.
    При просмотре реестра прогой RegSupremePro ключ не прописывается,а
    хотелось бы
     
  9. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    bcz заполни длиной строки + 1.
     
  10. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    а конкретней можно ,лучше кодом
     
  11. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.742
    Код (Text):
    1. include head.inc
    2. include \masm32\include\advapi32.inc
    3. includelib \masm32\lib\advapi32.lib
    4.  
    5. .data
    6.  
    7. PathToSave db 'Software\Microsoft\Windows\CurrentVersion\Run\',0
    8. KeyName db 'NameYouKey',0
    9. SuperProga db 'superproga.exe',0
    10. hKey dd 0
    11.  
    12. .code
    13.  
    14. start:
    15.  
    16.         invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,addr PathToSave,NULL,KEY_ALL_ACCESS,addr hKey
    17.         cmp eax,0
    18.         jne @@Exit
    19.         invoke RegSetValueExA, hKey ,addr KeyName,0,1,addr SuperProga,256
    20.         cmp eax,0
    21.         jne @@Exit
    22.         invoke RegCloseKey,hKey
    23.  
    24. @@Exit: invoke ExitProcess,NULL
    25.  
    26. end start
     
  12. zet

    zet New Member

    Публикаций:
    0
    Регистрация:
    15 окт 2007
    Сообщения:
    121
    Код (Text):
    1. .386
    2. .model flat,stdcall
    3. option casemap:none
    4.  
    5. include \masm32\include\windows.inc
    6. include \masm32\include\kernel32.inc
    7. include \masm32\include\advapi32.inc
    8. includelib \masm32\lib\kernel32.lib
    9. includelib \masm32\lib\advapi32.lib
    10.  
    11. .data?
    12.     HKey      dd ?
    13.     namebuf   db MAX_PATH dup(?)
    14.  
    15. .data
    16.     file_name db "Имя программы",0
    17.     SubKey1   db "Software\Microsoft\Windows\CurrentVersion\Run",0
    18.            
    19. .code
    20. start:  
    21.  
    22.     invoke  RegOpenKeyEx, HKEY_CURRENT_USER, ADDR SubKey1, 0, KEY_WRITE,ADDR HKey
    23.     test    eax, eax
    24.     jz      Exit
    25.     invoke  GetModuleFileName, 0, addr namebuf, MAX_PATH
    26.     test    eax, eax
    27.     jz      Exit
    28.     inc     eax
    29.     invoke  RegSetValueEx, HKey, addr file_name, 0, REG_SZ, ADDR namebuf, eax
    30.     test    eax, eax
    31.     jz      Exit
    32.     invoke  RegCloseKey, HKey
    33.  
    34. Exit:
    35.     invoke ExitProcess,NULL
    36.  
    37. end start
     
  13. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    ASMLANO и ZET БОЛЬШОЕ СПАСИБО за конкретный ответ,
    откомпилировал прогу и все получилось ,еще раз СПАСИБО.
     
  14. yuri

    yuri New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2008
    Сообщения:
    47
    И еще для поддержки темы, как я понял программу с автозапуском можно прописать в папку windows с копированием ее оригинала
    invoke WritePrivateProfileStringA
    Мужики подскажите как это сделать (если можно с кодом)
    Заранее благодарен
     
  15. zet

    zet New Member

    Публикаций:
    0
    Регистрация:
    15 окт 2007
    Сообщения:
    121
    yuri
    Смотри аттач.