Hvordan lage VB6 Åpne i EXE

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)."