" CreateProcess " es una función disponible en una de las interfaces de Microsoft Windows principal de programación de aplicaciones (API ) disponibles con el sistema operativo Windows. " CreateProcess " se abre un programa como un proceso de Windows y dentro de su propio hilo . API de Windows dará más flexibilidad a los programadores de VB . Por ejemplo , hay varias funciones disponibles en la API de Windows que permiten a los programadores para realizar acciones específicas con una llamada a la función de la API en lugar de intentar escribir su propio código para hacer lo mismo . Instrucciones
1
Iniciar un nuevo proyecto EXE estándar en Visual Basic . Añadir definidas por el usuario tipos con nombre " PROCESS_INFORMATION " y " STARTUPINFO " en el código de " Form1 " que se crea automáticamente con el nuevo proyecto . Se trata de estructuras utilizadas en Visual Basic para agrupar datos y se requieren tipos de parámetros de la función " CreateProcess " .
2
Crear dos constantes que también son parámetros de la función " CreateProcess " .
< p> Const SYNCHRONIZE = 1048576
Const NORMAL_PRIORITY_CLASS = & H20 & compare
declarar la función " CreateProcess " como " Private Declare función CreateProcess Lib ", " Alias " kernel32 CreateProcessA " . "
Página 3
Declarar funciones adicionales para abrir el proceso ( "Private Declare Function OpenProcess Lib" kernel32.dll ""), terminar el proceso ( "Private Declare Function TerminateProcess Lib" kernel32 "") y para cerrar el manija ( "Private Declare Function CloseHandle Lib" kernel32 "").
4
Agregar un botón de comando " Form1 " y el nombre " cmdOpenNotepad . " En el código para " cmdOpenNotepad " , define 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 " de la siguiente manera :
CreateProcess ( sNull , " Bloc de notas " , ByVal 0 & , ByVal 0 & , 1 & , NORMAL_PRIORITY_CLASS , ByVal 0 & , sNull , sInfo , pInfo )
5
Terminar el proceso con " TerminateProcess ( pInfo.hProcess , 0 & ) . "
< p> Cierre el asa para el hilo con " CloseHandle ( pInfo.hThread ) " y para el proceso con " CloseHandle ( pInfo.hProcess ) . "