Primero agrega en tu proyecto la referencia a
win.tlb. Este archivo lo podés bajar del siguiente link:
http://www.themandelbrotset.com/Files/tlbansi.zipAhora pega el siguiente código en un módulo estándar:
Function SetAtStartup() As Boolean
Dim hKey&, r&
Dim sData$
'Abre la clave del registro y pone el identificador
'en la variable hKey.
'
r = RegCreateKeyEx(HKEY_LOCAL_MACHINE, STARTUP_KEY, 0&, vbNullString, 0&, _
KEY_ALL_ACCESS, ByVal 0&, hKey, REG_OPENED_EXISTING_KEY)
'Obtiene la ruta de acceso y el nombre del ejecutable del programa.
'
sData = App.Path
If Not Right$(sData, 1) Like "\" Then sData = sData & "\"
sData = sData & App.EXEName & ".EXE"
'Escribe el valor en la clave del registro que
'abrimos anteriormente.
'
r = RegSetValueExStr(hKey, "MyApp", 0&, REG_SZ, ByVal sData, LenB(sData))
SetAtStartup = (r = 0) 'La operación se completó correctamente.
r = RegCloseKey(hKey)
End Function
El código anterior registra la aplicación para que se inicie como servicio del sistema.
Para ocultar la ventana poné como objeto inicial Sub Main y en el módulo escribis el siguiente código:
Sub Main()
Call Load(frmMain) 'Carga el formulario principal
'pero sin mostrarlo.
'Para mostrar el formulario tenés que llamar al método
'Show del formulario:
'
'Call frmMain.Show
End Sub