" CreateProcess " er en funksjon som er tilgjengelig i en av Microsoft Windows- kjernen programmeringsgrensesnitt (API ) er tilgjengelig med Windows operativsystem . " CreateProcess " åpner et program som en Windows -prosessen og i sin egen tråd . Windows API-ene gir mer fleksibilitet til VB programmerere . For eksempel er det flere funksjoner som er tilgjengelige i Windows API som lar programmerere å utføre bestemte handlinger med en funksjon kall til API snarere enn å forsøke å skrive sin egen kode for å gjøre det samme . Instruksjoner
en
Start et nytt Standard EXE Visual Basic-prosjekt . Legg brukerdefinerte typer heter " PROCESS_INFORMATION " og " STARTUPINFO " i koden for " Form1 " som opprettes automatisk med det nye prosjektet. Dette er konstruksjoner som brukes i Visual Basic til å gruppere data og er pålagt parameter typer av " CreateProcess "-funksjonen .
2
Lag to konstanter som også er parametere for " CreateProcess "-funksjonen .
< p> Konst SYNKRONISERE = 1048576
Konst NORMAL_PRIORITY_CLASS = & H20 og selg
Erklærer " CreateProcess "-funksjonen som "Private Declare Function CreateProcess Lib " kernel32 " Alias " CreateProcessA " . "
3
Erklærer flere funksjoner for å åpne prosessen ( "Private Declare Function OpenProcess Lib " kernel32.dll "") , avslutte prosessen ( "Private Declare Function TerminateProcess Lib " kernel32 " ") og å lukke håndtaket ( "Private Declare Function CloseHandle Lib " kernel32 "") .
4
Legg til en kommandoknapp i " Form1 ' og gi den navnet " cmdOpenNotepad . " i koden for" cmdOpenNotepad " , definerer en variabel av type . PROCESS_INFORMATION , STARTUPINFO , en streng for å representere null og to lengter etter returnere verdier
Før Notepad.exe til " CreateProcess " funksjon som følger : en
CreateProcess ( sNull , " Notepad.exe " , ByVal 0 & , 0 ByVal & , 1 & , NORMAL_PRIORITY_CLASS , 0 ByVal & , sNull , Sinfo , pinfo )
5
Avslutt prosessen med " TerminateProcess ( pInfo.hProcess , 0 &) . "
< p> Lukk håndtaket til tråden med " CloseHandle ( pInfo.hThread )" og til prosessen med " CloseHandle ( pInfo.hProcess ) . "