" CreateProcess " est une fonction disponible sur l'une des interfaces Microsoft Windows de base de programmation d'applications (API) disponibles avec le système d'exploitation Windows. " CreateProcess " ouvre un programme comme un processus Windows et dans son propre filet . API Windows donner plus de flexibilité aux programmeurs VB . Par exemple , il existe plusieurs fonctions disponibles dans l'API Windows qui permettent aux programmeurs d'effectuer des actions spécifiques avec un appel de fonction de l'API plutôt que d'essayer d'écrire leur propre code pour faire la même chose . Instructions
1
Démarrer une nouvelle EXE projet Visual Basic standard . Ajouter des types définis par l'utilisateur nommé " PROCESS_INFORMATION " et " STARTUPINFO " dans le code de " Form1 " qui est créé automatiquement avec le nouveau projet. Ce sont des structures utilisées dans Visual Basic pour regrouper les données et sont tenus types de paramètres de la fonction " CreateProcess " .
2
créer deux constantes qui sont aussi des paramètres de la fonction " CreateProcess " .
< p> Const SYNCHRONIZE = 1048576
Const NORMAL_PRIORITY_CLASS = & H20 &
déclarer la fonction " CreateProcess " comme " Private Declare Function CreateProcess Lib" et "Alias " kernel32 CreateProcessA " . "
Hôtels 3
déclarer des fonctions supplémentaires pour ouvrir le processus (« Private Declare Function OpenProcess Lib" kernel32.dll ""), terminer le processus (« Private Declare Function TerminateProcess Lib" kernel32 "") et de fermer la poignée ( " Private Declare Function CloseHandle Lib" kernel32 "").
4
Ajouter un bouton de commande à " Form1 " et nommez-le " cmdOpenNotepad . " Dans le code de " cmdOpenNotepad " , définir une variable de type . PROCESS_INFORMATION , STARTUPINFO , une chaîne pour représenter nul et deux longs pour des valeurs de retour
passer le Bloc-notes pour la fonction " CreateProcess " comme suit :
CreateProcess ( sNull , " Bloc-notes », ByVal 0 & , ByVal 0 & , 1 & , NORMAL_PRIORITY_CLASS , ByVal 0 & , sNull , sInfo , pInfo )
5
terminer le processus avec " TerminateProcess ( pInfo.hProcess , 0 & ) . "
< p> Refermez la poignée pour le fil avec " CloseHandle ( pInfo.hThread ) " et au processus de « CloseHandle ( pInfo.hProcess ) . "