Добавление параметра в реестр

Тема в разделе "WASM.BEGINNERS", создана пользователем Satell, 19 май 2007.

  1. Satell

    Satell New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    23
    скачал исходник добавляющий параметр в реестр отсюда http://ishodniki.ru/base/ASM/registry.zip
    модифицировал программу так, почему не работает? Как мне прописать свою программу в автозапуск?

    Код (Text):
    1. .386
    2. .model flat, stdcall
    3. option casemap :none   ; case sensitive
    4.  
    5.     include \masm32\include\windows.inc
    6.     include \masm32\include\user32.inc
    7.     include \masm32\include\kernel32.inc
    8.     include \masm32\include\advapi32.inc
    9.     includelib \masm32\lib\user32.lib
    10.     includelib \masm32\lib\kernel32.lib
    11.     includelib \masm32\lib\advapi32.lib
    12.  
    13. .data
    14.     SubKey     db "Software\Microsoft\Windows\CurrentVersion\Run\",0
    15.     szBetrayed db "Proxy",0
    16.     szCaption  db "Reg Adder",0
    17.     szNoRun    db "It seems you have never run this program before!",13,10
    18.                db "I will now add a item to the registry since you have ran this program",0
    19.     szHasRun   db "Thank you for running this program more then once.",0
    20.     szRan      db "c:\proxy.exe",0
    21.  
    22. .data?
    23.     hKey       dd ?
    24.     hValue     dd ?
    25.     szBuffer   db 4 dup (?)
    26.  
    27. .code
    28.  
    29. start:
    30.     invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,ADDR SubKey,NULL,KEY_QUERY_VALUE,ADDR hKey     ;open our key
    31.        
    32.     invoke MessageBox,NULL,ADDR szNoRun,ADDR szCaption,MB_OK+MB_ICONINFORMATION     ;Alert the fact we have never been ran on this machine
    33.                                                                          
    34.     invoke RegSetValueEx,hKey,ADDR szBetrayed,0,REG_SZ,ADDR szRan,4     ;set the szRan string in the registry
    35.                    
    36.        
    37.     invoke RegCloseKey , hKey                               ;close the registry key
    38.         invoke ExitProcess,NULL
    39.             ret
    40. end start
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Дык если ключа нет, то и hKey не будет содержать хендл. Используй RegCreateKey - если ключа не было, он будет создан.

    П.С.: когда уже новички научатся пользоваться отладчиком? и поиском?
     
  3. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    1. используй тег code
    2. пользуйся поиском по форуму/сайту