Der er to måder at iværksætte en særskilt eksekverbart program fra et Visual Basic -program. En måde er at bruge Visual Basic " Shell " kommando . Den anden er at bruge " CreateProcess " Windows application programming interface (API) . Begge vil lancere den eksterne eksekverbare program, men " CreateProcess " giver programmøren mere kontrol over, hvordan operativsystemet håndterer programmet. Instruktioner
Shell Command
1
Start et nyt Visual Basic Standard EXE -projekt. On " Form1 ", der oprettes som standard , skal du tilføje en kommandoknap og navngive den " cmdNotepad ".
2
Code klik begivenheden kommando knappen i " cmdNotepad_Click ()" begivenhed. Erklær en variabel af typen lang tid at holde returværdien fra Shell kommando. For at starte Windows Notesblok -programmet , skal du indtaste " lngReturn = Shell : ." ( " C \\ Windows \\ System32 \\ Notepad.exe )"
3
Angiv, hvordan du ønsker, at Notepad til at åbne i Shell -kommandoen. Valgmulighederne er: vbHide , vbMaximizedFocus , vbMinimizedFocus , vbMinimizedNoFocus , vbNormalFocus og vbNormalNoFocus . Angiv en af disse muligheder som den anden parameter til Shell kommando som " Shell ( " C: \\ Windows \\ System32 \\ Notepad.exe " , vbNormalFocus ) . "
4
Få processen id fra returnere værdien af Shell -kommandoen. Som vist i trin 2, " lngReturn " vil indeholde Windows tildelte proces ID for den Notepad program, der blev netop lanceret fra Shell kommando. Med den proces -id, kan du udføre andre opgaver i dit program , såsom at kontrollere om processen stadig kører , før du lukker Visual Basic-program .
CreateProcess
5
Start et nyt Visual Basic Standard EXE -projekt. On " Form1 ", der oprettes som standard , skal du tilføje en kommandoknap og navngive den " cmdNotepad ". Tilføj brugerdefinerede typer navngivne " PROCESS_INFORMATION " og " STARTUPINFO " i " Erklæringer " i " Form1 ". Disse strukturer bruges til at gruppere data og er forpligtet parametre " CreateProcess "-funktion.
6
Tilføj to konstanter , der også parametre " CreateProcess "-funktion.
Const SYNKRONISERER = 1048576
Const NORMAL_PRIORITY_CLASS = & H20 &
Erklær funktioner til at oprette processen instans ( "Erklær på" CreateProcess " funktion som " Private Erklær funktion CreateProcess Lib " kernel32 " Alias " CreateProcessA " ") , åbne processen ( "Private Erklær Funktion OpenProcess Lib " kernel32.dll "") , afslutte processen ( "Private Erklær Funktion TerminateProcess Lib " kernel32 "") og lukke håndtaget ( "Private Erklær Funktion CloseHandle Lib " kernel32 "") .
7
Code klik tilfælde af kommandoknap i " cmdNotepad_Click (). " Definer en variabel af typen PROCESS_INFORMATION , STARTUPINFO , en streng til at repræsentere nul og to længes efter returværdier . Pass Notesblok. exe til " CreateProcess "-funktionen : .
CreateProcess ( sNull " Notepad.exe " , ByVal 0 & , ByVal 0 & , 1 & , NORMAL_PRIORITY_CLASS , ByVal 0 & , sNull , Sinfo , pInfo )
8
afslutte processen med " TerminateProcess ( pInfo.hProcess , 0 &). " Luk håndtaget tråden med " CloseHandle ( pInfo.hThread )" , og til processen med " CloseHandle ( pInfo.hProcess ) . " < br >