E agora, um conselho:
Tudo bem que não estás familiarizado com a API do Windows. Mas enquanto não a usares, não te familiarizas com ela, e provavelmente vais precisar mais tarde
Basicamente, o que necessitas é de duas coisas: a DECLARAÇÃO:
Código:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
O que tens no programa? Apenas um form?
Então declaras como Private (Private Declare .....)
Tens módulos? Neles, podes declarar como Public (caso uses fora do módulo) ou Private (caso só uses esta função dentro do módulo). Assim como tens o "Form" "Load", tens o "(General)" "(Declarations)". É aí que fica.
Depois, tendo a função, chama-la sempre que quiseres. Só tens de escrever
ShellExecute Me.hwnd, "open", "
http://www.google.pt", vbNullString, vbNullString, 0
ou, fazes uma sub:
Private Sub AbrirPrograma(programa as String)
ShellExecute Me.hwnd, "open", programa, vbNullString, vbNullString, 0
End Sub
E chamas como
AbrirPrograma "taskmgr.exe"
Simplifica-te o trabalho. É mais complexo, mas também é mais seguro.
Ao fazeres o Shell "cmd" estás a abrir a Linha de Comandos para por sua vez abrir o teu programa.
Qual achas mais rápido?
Programa A -> cmd -> Programa B
ou
Programa A -> Programa B
?
É aí que reside a diferença
Cumps [[[[[[]]]]]]
angelofwisdom