This is my program code:
;************************************************************
format PE GUI 4.0
entry start
include '%include%\win32a.inc'
section '.data' data readable writeable
my_subkey db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
my_value_name db 'MyProgram',0
my_value_data:
db 'Myprogram.exe'
db 0
my_value_size db $-my_value_data
my_hkey dw ?
section '.code' code readable executable
start:
invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,my_subkey,my_hkey
invoke RegSetValueEx,my_hkey,my_value_name,0,REG_SZ,my_value_data,my_value_size
invoke RegCloseKey,my_hkey
exit:
invoke ExitProcess,0
section '.idata' import data readable writeable
library kernel,'KERNEL32.DLL',\
advapi,'ADVAPI32.DLL'
import kernel,\
ExitProcess,'ExitProcess'
import advapi,\
RegOpenKeyEx,'RegOpenKeyExA',\
RegSetValueEx,'RegSetValueExA',\
RegCloseKey,'RegCloseKey'
;************************************************************
After compiling and run my program didn’t add “my_value_name†in registry. What is wrong?