Visual Basic inkluderar inte ett enkelt sätt att kommunicera direkt med konsolen , den svarta skärmen du komma i Vista genom att skriva " cmd " i " Påbörja sökning " rutan eller kör " Command Prompt " länk från " Program tillbehör . " Microsoft gör lämna instruktioner för en engagerad work-around , som beskrivs i detta exempel , med hjälp av några av de godkända specifika kommandon . Trots detta är kommunikationen begränsad utan avancerad programmering kunskap och komplicerade rutiner programmering . Instruktioner
1
Öppna Visual Basic och starta ett nytt projekt , med hjälp av " Standard EXE " mall finns under " File ", " Nytt projekt". Klicka på " Projekt " på den övre menyn och " Lägg till modul " från rullgardinsmenyn .
2
Skriv följande rader i Module1 fönstret , som enligt Microsoft innehåller den enda kod som gör det möjligt direkt kommunikation med konsol i Visual Basic . Understrecket i slutet av några rader anger att texten på nästa rad är en fortsättning på den aktuella raden. Ta inte med understreck när du anger denna kod , bara fortsätta skriva på en rad :
Option ExplicitDeclare Funktion AllocConsole Lib " Kernel32 " ( ) Som LongDeclare Funktion FreeConsole Lib " Kernel32 " ( ) Som LongDeclare Funktion CloseHandle Lib " kernel32 " ( ByVal hObject As Long ) _As LongDeclare Funktion GetStdHandle Lib " Kernel32 " ( ByVal _nStdHandle As Long ) Som LongDeclare Funktion WriteConsole Lib " Kernel32 " Alias " WriteConsoleA " _ByVal hConsoleOutput As Long , lpBuffer Som någon , ByVal _nNumberOfCharsToWrite As Long , lpNumberOfCharsWritten As Long , _lpReserved som någon) LongPublic Const STD_OUTPUT_HANDLE = -11 &
3
Dubbelklicka på Form1 i projektet listan till höger för att öppna detta formulär . Klicka på " Visa " och sedan " Code " från listan . Ange dessa rader :
Dim hConsole som LongPrivate Sub Form_Load ( ) Om AllocConsole ( ) ThenhConsole = GetStdHandle ( STD_OUTPUT_HANDLE ) Om hConsole = 0 Then MsgBox "Kunde inte allokera STDOUT " ElseMsgBox "Kunde inte allokera console " End IfEnd Sub
Private Sub Form_Unload ( Cancel As Integer ) CloseHandle hConsoleFreeConsoleEnd Sub
4
Håll ner Shift och F7 för att återgå till Object tanke på Form1 . Koden trädde hittills ger åtkomst till konsolen . Ange kod för att ge instruktioner till konsolen . Lägg till ett OptionButton till formen med Option ikon från listan över Generella kontroller i verktygslådan kolumnen till vänster . Dra knappen uppe till vänster i formuläret . Upprepa denna åtgärd tre gånger , avstånd knapparna i två kolumner och två rader . Lägg en sista kontroll , en CommandButton från Toolbox .
5
Gör följande ändringar i panelen Egenskaper i rätten till Caption egenskapen hos varje kontroll , att ändra standardinställningen Option1 , Option2 och så vidare för att nya bildtexter läsning " Disk Directory , " " ipconfig /all ", " Visa nätanvändare " och " Clear Screen . " Ändra CommandButton bildtext till " Go ".
6 Anteckningar
Används för att skapa fyra textfiler med en " . Bat" suffix istället för " . Txt . " Gör noggrant noterat där du sparar dessa filer . Varje fil innehåller bara en rad på följande sätt :
FileName : dirw.bat Innehåll : DIR /WFileName : ip.bat Innehåll : ipconfig /ALLFileName : netuser.bat Innehåll : NET USERFileName : clear.bat Innehåll : CLS
7
Dubbelklicka på " Go " knappen på formuläret för att öppna koden fönstret . Ange denna kod mellan " Private Sub Go_Click ( ) " och " Sub End " :
Private Sub Go_Click ( ) Om Option1 = Sant ThenShell " [ ersätter här platsen för den sparade bat-filen . ] /Dirw . bat " End oOm Option2 = Sant ThenShell " [ ersätter här platsen för den sparade . bat-filen ] /ip.bat " End oOm Alternativ3 = Sant ThenShell " [ ersätter här platsen för den sparade . bat-filen ] /netuser.bat " Slut oOm Alternativ4 = Sant ThenShell " [ ersätter här platsen för den sparade . bat-filen ] /clear.bat " End IfEnd Sub
Tryck F5 för att köra programmet . Välj ett av alternativen och klicka på " Go ". Detta öppnar en konsol fönster och kör det markerade kommandot .