Programación General > Visual Basic 6.0 e inferiores
Ejecutar Comandos De Ms-dos
(1/1)
ROBER.29:
Hola compañeros,
Como puedo ejecutar el comando regsvr32 desde código de Visual Basic?
Muchas gracias.
Saludos a todos.
ROBER.29:
Se pueden ejecutar comandos de MS-DOS de la siguiente forma:
--- Código: Text --- Option Explicit Private Const PROCESS_QUERY_INFORMATION = &H400Private Const STILL_ACTIVE = &H103Private Declare Function OpenProcess Lib "kernel32" _(ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _As LongPrivate Declare Function GetExitCodeProcess Lib "kernel32" _(ByVal hProcess As Long, lpExitCode As Long) _As Long Sub EsperarShell(sCmd As String) Dim hShell As LongDim hProc As LongDim codExit As Long ' ejecutar comandohShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2) ' esperar a que se complete el procesohProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell) DoGetExitCodeProcess hProc, codExitDoEventsLoop 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.
Brroz:
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:
Gracias pero eso ya lo sabia.
Muchas gracias de todas formas.
Saludos.
QliX=D!:
Podes directamente con la API Registrar componentes, lo cual te ahorraria hacer la Shell que queda... Feo :D
Navegación
Ir a la versión completa