Cómo utilizar ExitWindowsExec() en VB para ejecutar el archivo de lotes de MS-DOS

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 147806
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
La función ExitWindowsExec() termina de Windows, ejecuta una aplicación MS-DOS especificada y, a continuación, reinicia Windows. La información en este artículo muestra cómo llamar a esta función desde Visual Basic.
Más información
La función ExitWindowsExec() suele utilizarse por programas de instalación para reemplazar componentes de Windows que están activas cuando se ejecuta Windows. Normalmente, puede que desee ejecutar un archivo por lotes de MS-DOS que realiza la copia mientras Windows se apagará temporalmente de archivos. La declaración para ExitWindowsExec() es como sigue:
   ' Place the following declaration on one, single line:  Private Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String,      ByVal lpszParams As Any) As Integer				

Primer parámetro: lpszExe $

El primer parámetro para ExitWindowsExec(), lpszExe $, debe ser una cadena que contiene la ruta de acceso completa al archivo ejecutable que desea ejecutar. Esta cadena debe contener no más de 127 caracteres. Para archivos por lotes, necesitará especificar Command.com como el archivo--C:\DOS\COMMAND.COM. Para obtener la ruta de acceso completa en Visual Basic para Command.com, puede utilizar la función de $ entorno:
   lpszExe$ = Environ$("COMSPEC")				

Para obtener más información sobre la función $ de entorno, consulte la referencia del lenguaje Microsoft Visual Basic o en el menú de Ayuda.

Segundo parámetro: lpszParams $

El segundo parámetro para ExitWindowsExec(), lpszParams $, debe ser una cadena que contiene todos los parámetros necesarios para el archivo ejecutable. Si no hay parámetros son necesarios, pasar un entero largo 0 como 0 &.

Para ejecutar un archivo por lotes, sin embargo, esto es donde se especifica la ruta al archivo por lotes y los parámetros que necesita. Además, deberá anteponer a la cadena con el modificador /c que indica a MS-DOS para invocar una copia de Command.com. Éste es un ejemplo:
   lpszParams$ = "/C C:\DIRNAME\GENERIC.BAT  PARAMETER1 PARAMETER2"				

El valor devuelto de esta función es False cuando se produce un error la función.

Ejemplo paso a paso

  1. Con el en el Bloc de notas en Windows o editar en MS-DOS, cree un archivo por lotes en el directorio raíz del disco duro denominado C:\RUNIT.BAT. Asígnele el siguiente contenido:
       @echo off   echo Making Backup of autoexec.bat   copy c:\autoexec.bat c:\*.bak   echo Done						
  2. Inicie un nuevo proyecto en Visual Basic (ALT, F, N). Se creará Form1 de manera predeterminada.
  3. Agregue la siguiente declaración a la sección Declaraciones generales del formulario:
       ' Place the following declaration on one, single line:   Private Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String, _      ByVal lpszParams As Any) As Integer						
  4. Agregue un botón de comando (Command1) al formulario y coloque el código siguiente en el evento Click().
       Private Sub Command1_Click ()      sComspec$ = Environ$("COMSPEC")      ret% = ExitWindowsExec(sComspec$,  "/c c:\runit.bat")   End Sub						
  5. Guarde el proyecto (ALT, V, V). A continuación, presione la tecla de F5 para ejecutar el programa. Haga clic en el botón de comando para salir de Windows, ejecutar el archivo por lotes y, a continuación, reinicie Windows.
vbwin vb416 4.00

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 147806 - Última revisión: 01/23/2014 04:32:56 - Revisión: 1.1

Microsoft Visual Basic 4.0 Professional Edition, Microsoft Visual Basic 4.0 16-bit Enterprise Edition

  • kbnosurvey kbarchive kbmt kbwndw KB147806 KbMtes
Comentarios