Domingo 22 de Diciembre de 2024, 02:40
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Ejecutar Comandos De Ms-dos
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Ejecutar Comandos De Ms-dos (Leído 3496 veces)
ROBER.29
Miembro MUY activo
Mensajes: 421
Ejecutar Comandos De Ms-dos
«
en:
Viernes 30 de Enero de 2004, 11:44 »
0
Hola compañeros,
Como puedo ejecutar el comando regsvr32 desde código de Visual Basic?
Muchas gracias.
Saludos a todos.
Tweet
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid
ROBER.29
Miembro MUY activo
Mensajes: 421
Re: Ejecutar Comandos De Ms-dos
«
Respuesta #1 en:
Viernes 30 de Enero de 2004, 11:53 »
0
Se pueden ejecutar comandos de MS-DOS de la siguiente forma:
Código: Text
Option Explicit
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STILL_ACTIVE = &H103
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _
As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) _
As Long
Sub EsperarShell(sCmd As String)
Dim hShell As Long
Dim hProc As Long
Dim codExit As Long
' ejecutar comando
hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2)
' esperar a que se complete el proceso
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell)
Do
GetExitCodeProcess hProc, codExit
DoEvents
Loop While codExit = STILL_ACTIVE
MsgBox "El comando ha acabado"
End Sub
Private Sub Command1_Click()
EsperarShell (Text1.Text)
End Sub
Este ejemplo está sacado de la siguiente página:
http://support.microsoft.com/?scid=kb;es-es;E11075
Es el truco 4.
Un saludo.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid
Brroz
Miembro de PLATA
Mensajes: 1058
Re: Ejecutar Comandos De Ms-dos
«
Respuesta #2 en:
Viernes 30 de Enero de 2004, 14:15 »
0
Hola Rober.29.
Con
Shell
sin más también vale, a no ser que necesites ejecutar el registro de forma síncrona, claro, en cuyo caso la filosofía a seguir es la del ejemplo.
Seguramente te interese ejecutar regsvr32 con el modificador
/S
para evitar el mensaje.
Échale un vistazo
http://foros.solocodigo.com/index.php?showtopic=4489
que a lo mejor te interesa.
Chao.
ROBER.29
Miembro MUY activo
Mensajes: 421
Re: Ejecutar Comandos De Ms-dos
«
Respuesta #3 en:
Viernes 30 de Enero de 2004, 16:37 »
0
Gracias pero eso ya lo sabia.
Muchas gracias de todas formas.
Saludos.
Roberto García
Moderador de Visual Basic.
Gerente
[contra]PixeL S.L.
Valladolid
QliX=D!
Miembro MUY activo
Mensajes: 214
Re: Ejecutar Comandos De Ms-dos
«
Respuesta #4 en:
Viernes 30 de Enero de 2004, 19:42 »
0
Podes directamente con la API Registrar componentes, lo cual te ahorraria hacer la Shell que queda... Feo
QliX=D! - From the top of Tsunami
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Ejecutar Comandos De Ms-dos