Visual Basic inkluderer ikke en enkel måte å kommunisere direkte med konsollen, den svarte skjermen du tilgang til i Vista ved å skrive " cmd" i "Start Søk" boksen eller kjører "Ledetekst " link fra " Program Tilbehør ". Microsoft gjør innrede instruksjoner for en involvert work-around , som er beskrevet i dette eksemplet , ved hjelp av noen av de konkrete autoriserte kommandoer. Likevel er kommunikasjonen begrenset uten avansert programmering kunnskap og komplisert programmeringsspråk rutiner . Instruksjoner
en
Åpen Visual Basic og initiere et nytt prosjekt , med " Standard EXE " mal finnes under "File ", "New Project ". Klikk på " Project" på toppmenyen og "Add Module" fra drop -down listen.
2
Skriv inn følgende linjer i Module1 vinduet, som ifølge Microsoft inneholder den eneste kode som vil tillate direkte kommunikasjon med konsoll i Visual Basic. Understrek på slutten av noen linjer indikerer at teksten på neste linje er en videreføring av gjeldende linje . Ikke ta med understrek når du taster inn denne koden , bare fortsette å skrive på en linje : en
Option ExplicitDeclare Funksjon AllocConsole Lib " kernel32 " ( ) Som LongDeclare Funksjon FreeConsole Lib " kernel32 " ( ) Som LongDeclare Funksjon CloseHandle Lib " kernel32 " ( ByVal hObject As Long) _As LongDeclare Funksjon GetStdHandle Lib " kernel32 "( ByVal _nStdHandle As Long) As LongDeclare Funksjon WriteConsole Lib " kernel32 " Alias " WriteConsoleA " _ByVal hConsoleOutput Som Long , lpBuffer som noen, ByVal _nNumberOfCharsToWrite Som Long , lpNumberOfCharsWritten As Long , _lpReserved Som Eventuelle ) Som LongPublic Konst STD_OUTPUT_HANDLE = -11 &
3
Dobbeltklikk på Form1 i prosjektet listen til høyre for å åpne dette skjemaet. Klikk på " Vis" og deretter " Code" fra listen. Skriv inn disse linjene :
Dim hConsole som LongPrivate Sub Form_Load ( ) Hvis AllocConsole ( ) ThenhConsole = GetStdHandle ( STD_OUTPUT_HANDLE ) Hvis hConsole = 0 Then MsgBox "Kunne ikke allokere STDOUT " ElseMsgBox "Kunne ikke allokere konsoll " End IfEnd Sub
Private Sub Form_Unload ( Cancel As Integer ) CloseHandle hConsoleFreeConsoleEnd Sub
4
Hold nede Shift og F7 for å gå tilbake til Object syn på Form1 . Koden inn så langt gir tilgang til konsollen . Skriv inn noen kode å gi instruksjoner til konsollen . Legg en OptionButton til skjemaet ved hjelp av Alternativ ikon fra listen over generelle kontroller i verktøykassa kolonnen til venstre. Dra knappen øverst til venstre i skjemaet . Gjenta denne handlingen tre ganger , mellomrom knappene i to kolonner og to rader . Legg en siste kontroll , en CommandButton fra Toolbox .
5
Gjør følgende endringer i Egenskaper-panelet til høyre for å Bildetekst for hvert kontroll , endre standard Alternativ 1 , Alternativ 2 og så videre til nye bildetekster lese "Disk Directory ", " ipconfig /all ", " Vis Network Users" og " Clear Screen ". Endre CommandButton bildeteksten til " Go".
6
Bruk Notisblokk til å opprette fire tekstfiler med en " . Bat" suffiks i stedet for " . Txt . " Gjør forsiktig oppmerksom på hvor du lagrer disse filene . Hver fil vil inneholde bare en linje som følger : en
FileName : dirw.bat Innhold : DIR /WFileName : ip.bat Innhold : IPCONFIG /ALLFileName : netuser.bat Innhold : NET USERFileName : clear.bat Innhold : CLS
7
Dobbeltklikk på "Go" -knappen på skjemaet for å åpne koden vinduet. Skriv inn denne koden mellom " Private Sub Go_Click ( )" og "End Sub ":
Private Sub Go_Click ( ) Dersom Alternativ 1 = sant ThenShell " [ erstatte her er plasseringen av den lagrede bat fil . ] /Dirw . bat " End IfIf Alternativ 2 = sant ThenShell " [ erstatte her er plasseringen av den lagrede . bat fil ] /ip.bat " End IfIf Alternativ 3 = sant ThenShell " [ erstatte her er plasseringen av den lagrede . bat fil ] /netuser.bat " slutt IfIf Alternativ 4 = sant ThenShell " [ erstatte her er plasseringen av den lagrede . bat fil ] /clear.bat " End IfEnd Sub
Trykk F5 for å kjøre programmet . Velg ett av alternativene , og klikk "Go ". Dette åpner et konsoll vindu og utfører den valgte kommandoen .