Tecnología

Inicio

Cómo hacer VB6 Abrir en EXE

Cómo hacer VB6 Abrir en EXE


Hay dos formas de iniciar un programa ejecutable independiente desde un programa de Visual Basic. Una forma es utilizar el comando de Visual Basic "Shell". La otra es utilizar la interfaz de programación de aplicaciones "CreateProcess" Windows (API). Ambos lanzar con éxito el programa ejecutable externo; Sin embargo, "CreateProcess" proporciona al programador un mayor control sobre cómo el sistema operativo se hace cargo del programa.

Instrucciones

Comando de Shell

1 Iniciar un nuevo proyecto EXE estándar en Visual Basic. En "Form1" que se crea por defecto, añadir un botón de comando y el nombre de "cmdNotepad."

2 Código del evento clic del botón de comando en el "cmdNotepad_Click) (" evento. Declarar una variable de tipo long para mantener el valor de retorno del comando de Shell. Para iniciar el programa Bloc de notas de Windows, escriba "lngReturn = Shell (" C: \ Windows \ System32 \ Notepad.exe ")."

3 Especificar cómo desea que la aplicación Bloc de notas para abrir en el comando de Shell. Las opciones son: vbHide, vbMaximizedFocus, vbMinimizedFocus, vbMinimizedNoFocus, vbNormalFocus y vbNormalNoFocus. Especificar una de estas opciones como el segundo parámetro del comando de Shell como "Shell (" C: \ Windows \ System32 \ Notepad.exe ", vbNormalFocus)."

4 Obtener el ID del proceso a partir del valor de retorno del comando de Shell. Como se muestra en el paso 2, "lngReturn" contendrá los de Windows asignados ID de proceso para la aplicación Bloc de notas que acaba de ser lanzado desde el comando de Shell. Con el ID de proceso, puede realizar otras tareas en su programa, tales como verificar si el proceso todavía se está ejecutando antes de cerrar la aplicación de Visual Basic.

Proceso de creación

5 Iniciar un nuevo proyecto EXE estándar en Visual Basic. En "Form1" que se crea por defecto, añadir un botón de comando y el nombre de "cmdNotepad." Añadir tipos definidos por el usuario llamado "PROCESS_INFORMATION" y "STARTUPINFO" en la sección "Declaraciones" de "Form1". Estas estructuras se utilizan para agrupar datos y son parámetros de la función "CreateProcess" necesarios.

6 Añadir dos constantes que son también parámetros de la función "CreateProcess".

Const SYNCHRONIZE = 1048576

Const NORMAL_PRIORITY_CLASS = & H20 y

Declarar funciones para crear la instancia de proceso ( "declarar la" "función" CreateProcess Private Declare Function CreateProcess Lib "kernel32" Alias ​​"CreateProcessA" "), abrir el proceso (kernel32.dll" Private Declare Function OpenProcess Lib "" "), terminar el proceso ( "Private Declare Function TerminateProcess Lib" kernel32 "") y para cerrar el identificador ( "" kernel32 "Private Declare Function CloseHandle Lib").

7 Codificar el evento click del botón de comando en "cmdNotepad_Click ()". Definir una variable de tipo PROCESS_INFORMATION, STARTUPINFO, una cadena para representar nulo y dos largos de valores de retorno. Pase el Bloc de notas para la función "CreateProcess":

CreateProcess (sNull, "Bloc de notas", ByVal 0 &, ByVal 0 &, 1 y, NORMAL_PRIORITY_CLASS, ByVal 0 &, sNull, sInfo, pInfo).

8 Terminar el proceso con "TerminateProcess (pInfo.hProcess, 0 &)." Cierre el asa para el hilo con "CloseHandle (pInfo.hThread)" y al proceso con "CloseHandle (pInfo.hProcess)."