Hvordan lage VB6 Åpne i EXE
Det er to måter å starte et eget kjørbart program innenfra et Visual Basic-program. En måte er å bruke Visual Basic "Shell" kommandoen. Den andre er å bruke "CreateProcess" Windows programmeringsgrensesnitt (API). Begge vil kunne lansere den eksterne kjørbart program; imidlertid "CreateProcess" gir programmereren mer kontroll over hvordan operativsystemet håndterer programmet.
Bruksanvisning
Shell Command
1 Start en ny Visual Basic Standard EXE-prosjekt. På "Form1" som er opprettet som standard, legge til en kommandoknapp og gi den navnet "cmdNotepad."
2 Kode klikk ved kommandoknapp i "cmdNotepad_Click ()" event. Deklarere en variabel av type lang tid å holde returverdien fra Shell kommandoen. For å starte Windows Notisblokk-programmet, skriv "lngReturn = Shell (" C: \ Windows \ System32 \ Notepad.exe ")."
3 Angi hvordan du vil at Notepad program for å åpne i Shell kommandoen. Alternativene er: vbHide, vbMaximizedFocus, vbMinimizedFocus, vbMinimizedNoFocus, vbNormalFocus og vbNormalNoFocus. Angi én av disse alternativene som andre parameter til Shell kommando som "Shell:". ( ", VbNormalFocus C \ Windows \ System32 \ Notepad.exe)"
4 Få prosess ID fra avkastningen verdien av Shell kommandoen. Som vist i trinn 2, "lngReturn" vil inneholde Windows tildelt prosess ID for Notepad program som nettopp ble lansert fra Shell kommandoen. Med prosess ID, kan du utføre andre oppgaver i programmet som bekrefter hvorvidt prosessen er fortsatt kjører, før du lukker Visual Basic-programmet.
CreateProcess
5 Start en ny Visual Basic Standard EXE-prosjekt. På "Form1" som er opprettet som standard, legge til en kommandoknapp og gi den navnet "cmdNotepad." Legg brukerdefinerte typer som heter "PROCESS_INFORMATION" og "STARTUPINFO" i "Erklæringer" i "Form1." Disse strukturene brukes til å gruppere data og er nødvendige parametere av "CreateProcess" -funksjon.
6 Legg to konstanter som også er parametere av "CreateProcess" -funksjon.
Const SYNKRONISERE = 1048576
Konst NORMAL_PRIORITY_CLASS = & H20 &
Erklærer funksjoner for å opprette prosessforekomsten ( "Erklærer« CreateProcess "funksjon som" Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" "), å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 "").
7 Kode klikk ved kommandoknapp i "cmdNotepad_Click ()." Definere en variabel av typen PROCESS_INFORMATION, STARTUPINFO, til en streng representere null og to lengter etter returverdier. Før Notepad.exe til "CreateProcess" funksjon:
CreateProcess (sNull, "Notepad.exe", ByVal 0 &, ByVal 0 & 1 &, NORMAL_PRIORITY_CLASS, ByVal 0 &, sNull, sInfo, pinfo).
8 Avslutte prosessen med "terminateProcess (pInfo.hProcess, 0 &)." Lukk håndtaket til tråden med "CloseHandle (pInfo.hThread)" og til prosessen med "CloseHandle (pInfo.hProcess)."