Hola, Yván.
Yo hago algo parecido cuando necesito que un programa se cargue minimizado cuando se inicia Windows. A lo mejor lo podés adaptar a tu necesidad (lo tiro casi sin pensarlo, porque estoy de raje, así que disculpame si no tiene nada que ver jeje).
Public Sub Main()
Load frmPrincipal
If LineaComandos() Then
frmPrincipal.Hide
Else
frmPrincipal.Show
End If
End Sub
Private Function LineaComandos() As Boolean
Dim sCommando As String
Dim i As Integer
Dim sTmp As String
sCommando = Trim$(Command$)
If Len(sCommando) = 0 Then Exit Function
i = InStr(sCommando, "/M")
If i > 0 Then LineaComandos = True
End Function
Y para llamar al archivo con shell le agrego " /M" a continuación del nombre: "archivoacargar.exe /M"
En cuanto a presionar un botón, ¿es al cargar el form, o con el form ya abierto? Porque si es al cargar el form podés darle un parámetro para que al arrancar ejecute la rutina que corresponde al Boton_Click(). Si es con el form abierto, ya imagino que sería por medio de comunicación entre exes y sobre eso ya se ha hablado bastante en este mismo foro. Ahora no puedo buscar los temas, pero ni bien pueda lo hago.
Espero te sirva de algo.
Muchas gracias.
Jerónimo