Antes que nada este código no es mío, pero no recuerdo de dónde lo saqué ya que tiene algo de tiempo.
Este ejemplo en realidad cambia al usuario de Windows, pero si cambias el HYEY_LOCAL_MACHINE por HKEY_CURRENT_USER (sólo para el usuario actual, pero si es para todos deja el Local machine) y el "Software\Microsoft\Windows\CurrentVersion" por "Software\Microsoft\Windows\CurrentVersion\Run" queda el código listo para lo que quieres
Private Const HKEY_CURRENT_USER = &H80000001
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCreateKey Lib _
"advapi32.dll" Alias "RegCreateKeyA" _
(ByVal Hkey As Long, ByVal lpSubKey As _
String, phkResult As Long) As Long
Private Declare Function RegCloseKey Lib _
"advapi32.dll" (ByVal Hkey As Long) As Long
Private Declare Function RegSetValueEx Lib _
"advapi32.dll" Alias "RegSetValueExA" _
(ByVal Hkey As Long, ByVal _
lpValueName As String, ByVal _
Reserved As Long, ByVal dwType _
As Long, lpData As Any, ByVal _
cbData As Long) As Long
Private Const REG_SZ = 1
Private Const REG_DWORD = 4
Public Function ChangeWindowsOwner(OwnerName As String, _
Organization As String) As Boolean
On Error GoTo ErrorHandler
Dim bAns As Boolean
If OwnerName = "" Or Organization = "" Then
ChangeWindowsOwner = False
Exit Function
End If
bAns = SaveString(HKEY_LOCAL_MACHINE, _
"Software\Microsoft\Windows\CurrentVersion", _
"RegisteredOwner", OwnerName)
If bAns Then bAns = SaveString(HKEY_L