Visual Basic indeholder ikke en enkel måde at kommunikere direkte med konsollen , den sorte skærm du får adgang til i Vista ved at skrive " cmd " i " Start søgning "-boksen eller køre " Command Prompt "linket fra" Program tilbehør . " Microsoft gør give instruktioner til en involveret work-around , hvilket beskrives i dette eksempel , at bruge nogle af de specifikke autoriserede kommandoer. Alligevel er kommunikationen begrænset uden avanceret programmering viden og komplicerede programmering rutiner. Instruktioner
1
Open Visual Basic og igangsætte et nyt projekt , ved hjælp af " Standard EXE " skabelon findes under "File ", " Nyt projekt ". Klik på " Project" i topmenuen og " Tilføj Module" fra drop -down listen.
2
skrive følgende linjer i Module1 vinduet, som ifølge Microsoft indeholder den eneste kode, der vil gøre det muligt direkte kommunikation med konsollen i Visual Basic. Understregningen i slutningen af nogle linjer angiver, at teksten på den næste linie er en fortsættelse af den nuværende linje . Må ikke indeholde understregningstegn , når du indtaster denne kode , skal du blot fortsætte med at skrive på en linje : Hej
Option ExplicitDeclare Funktion AllocConsole Lib " kernel32 " ( ) Som LongDeclare Function FreeConsole Lib " kernel32 " ( ) Som LongDeclare Function CloseHandle Lib " kernel32 "( ByVal hObject As Long ) _As LongDeclare Funktion GetStdHandle Lib " kernel32 "( ByVal _nStdHandle As Long ) Som LongDeclare Function WriteConsole Lib " kernel32 " Alias " WriteConsoleA " _ByVal hConsoleOutput As Long , lpBuffer Som enhver , ByVal _nNumberOfCharsToWrite As Long , lpNumberOfCharsWritten As Long , _lpReserved Som enhver ) Som LongPublic Const STD_OUTPUT_HANDLE = -11 &
3
Dobbeltklik på Form1 i Projekt- listen til højre for at åbne denne formular. Klik på "Vis" og derefter " Code" fra listen . Indtast disse linjer :
Dim hConsole som LongPrivate Sub Form_Load () Hvis AllocConsole () ThenhConsole = GetStdHandle ( STD_OUTPUT_HANDLE ) Såfremt hConsole = 0 Then MsgBox "Kunne ikke allokere STDOUT " ElseMsgBox "Kunne ikke allokere console " End IfEnd Sub
Private Sub Form_Unload ( Cancel As Integer ) CloseHandle hConsoleFreeConsoleEnd Sub
4
Hold Shift nede og F7 for at vende tilbage til Object visning af Form1 . Koden indtastes hidtil giver adgang til konsollen. Indtast noget kode til at give instrukser til konsollen. Føj en OptionButton til formularen ved hjælp af Option ikon fra listen over generelle kontrol i værktøjskassen kolonne til venstre . Træk knappen øverst til venstre i formularen. Gentag denne handling tre gange mere , afstand de knapper i to kolonner og to rækker . Tilføj en sidste kontrol , CommandButton fra værktøjskassen .
5.
Foretag følgende ændringer i Properties panelet til højre til Caption ejendom hver kontrol , ændre standard Funktion1 , Option2 og så videre til nye billedtekster læsning "Disk Register ", " ipconfig /all ", " View netværksbrugere " og " Clear Screen. " Skift CommandButton billedtekst til "Go ".
6
Brug Notesblok til at oprette fire tekstfiler med en " . Bat" endelsen i stedet for " . Txt ". Gør omhyggeligt noteret , hvor du gemmer disse filer. Hver fil vil kun indeholde en linie som følger : Hej
FileName: dirw.bat Indhold : DIR /WFileName : ip.bat Indhold : ipconfig /ALLFileName : netuser.bat Indhold : NET USERFileName : clear.bat Indhold : CLS
7
Dobbeltklik på "Go" -knappen på formularen for at åbne koden vinduet. Indtast denne kode mellem "Private Sub Go_Click () " og " End Sub ":
Private Sub Go_Click () Hvis Funktion1 = Sand ThenShell " [ erstatte her placeringen af gemte bat -filen. ] /Dirw . bat " End Hhvis Option2 = Sand ThenShell " [ erstatte her placeringen af den gemte . bat-filen ] /ip.bat "Slut Hhvis Funktion3 = Sand ThenShell " [ erstatte her placeringen af den gemte . bat-filen ] /netuser.bat " End Hhvis Funktion4 = Sand ThenShell " [ erstatte her placeringen af den gemte . bat-filen ] /clear.bat " End IfEnd Sub
Tryk F5 for at køre programmet. Vælg en af mulighederne og klik på " Go". Dette åbner et konsol vindue og udfører den valgte kommando .