Come comunicare con la console in Visual Basic

June 11

Visual Basic non include un modo semplice per comunicare direttamente con la console, lo schermo nero si accede in Vista digitando "cmd" nella casella "Inizia ricerca" o in esecuzione il link "Prompt dei comandi" da "Accessori Programma." Microsoft non fornire istruzioni per partecipare work-around, che è descritto in questo esempio, usando alcuni dei comandi specifici autorizzati. Anche così, la comunicazione è limitata senza conoscenze di programmazione avanzata e la routine di programmazione complicate.

istruzione

1 Aprire Visual Basic e iniziare un nuovo progetto, utilizzando il modello "EXE standard" che si trova sotto "File", "Nuovo progetto". Fai clic su "Progetto" nel menu in alto e "Aggiungi modulo" dall'elenco a discesa.

2 Digitare le seguenti righe nella finestra Module1, che secondo Microsoft contengono l'unico codice che permetterà la comunicazione diretta con la console in Visual Basic. La sottolineatura alla fine di alcune linee indica che il testo sulla riga successiva è una continuazione della riga corrente. Non includere il carattere di sottolineatura quando si entra in questo codice; semplicemente continuare a digitare su una sola riga:

Option Explicit
Declare Function AllocConsole Lib "kernel32" () As Long
Declare Function FreeConsole Lib "kernel32" () As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long)

As Long
Declare Function GetStdHandle Lib "kernel32" (ByVal
nStdHandle As Long) As Long
Declare Function WriteConsole Lib "WriteConsoleA" "Kernel32" Alias
ByVal hConsoleOutput As Long, lpBuffer come qualsiasi, ByVal
nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten come lungamente, _
lpReserved Come Qualsiasi) As Long
Public Const STD_OUTPUT_HANDLE = -11 &

3 Fare doppio clic su Form1 nella lista Progetto a destra per aprire questo modulo. Fai clic su "Visualizza" e poi "codice" dalla lista. Inserisci queste righe:

Dim hConsole come lungo
Private Sub Form_Load ()
Se AllocConsole () Poi
hConsole = GetStdHandle (STD_OUTPUT_HANDLE)
Se hConsole = 0 Then MsgBox "Impossibile allocare STDOUT"
Altro

MsgBox "Impossibile allocare console"
Finisci se
End Sub

Private Sub Form_Unload (Cancel As Integer)
CloseHandle hConsole
FreeConsole
End Sub

4 Tenere premuto il tasto Shift e F7 per tornare alla visualizzazione di oggetti di Form1. Il codice inserito finora fornisce l'accesso alla console. Inserisci il codice per dare istruzioni alla console. Aggiungere un OptionButton al form utilizzando l'icona opzione dall'elenco dei controlli generali nella colonna Casella degli strumenti a sinistra. Trascinare il pulsante in alto a sinistra del modulo. Ripetere questa operazione altre tre volte, intervallando i pulsanti in due colonne e due righe. Aggiungere un ultimo controllo, un pulsante di comando dalla Casella degli strumenti.

5 Apportare le seguenti modifiche nel pannello Proprietà sulla destra per la proprietà Caption di ogni controllo, cambiando l'impostazione predefinita Option1, Option2 e così via a nuove voci di lettura "Directory disco," "ipconfig / all", "Utenti Vista di rete" e " Schermo pulito." Modificare la didascalia CommandButton per "Go".

6 Utilizzare Blocco note per creare quattro file di testo con un suffisso ".bat" invece di ".txt". Fare attenzione nota di dove si salvano questi file. Ogni file contiene una sola riga come segue:

FileName: Contenuto dirw.bat: DIR / W
FileName: ip.bat Contenuto: ipconfig / ALL
FileName: Contenuto netuser.bat: NET USER
FileName: clear.bat Contenuto: CLS

7 Fare doppio clic sul pulsante "Go" sul modulo per aprire la finestra di codice. Inserisci questo codice tra il "Private Sub Go_Click ()" e "End Sub":

Private Sub Go_Click ()
Se Option1 = True Then
Shell "[sostituto qui la posizione del file salvato .bat] /dirw.bat"
Finisci se
Se Option2 = True Then
Shell "[sostituto qui la posizione del file salvato .bat] /ip.bat"
Finisci se
Se Option3 = True Then
Shell "[sostituto qui la posizione del file salvato .bat] / netuser.bat"
Finisci se
Se Opzione4 = True Then
Shell "[sostituto qui la posizione del file salvato .bat] /clear.bat"
Finisci se
End Sub

Premere F5 per eseguire il programma. Scegli una delle opzioni e fare clic su "Go". Si apre una finestra della console ed esegue il comando selezionato.

Consigli e avvertenze

  • Aggiungere o sostituire i pulsanti esempio di istruzione per la forma di base per corrispondere a ciò che si vuole comunicare, creare batch (.bat) i file con l'istruzione principale.
  • Richiedere all'utente un comando Console e includere il codice che crea automaticamente un file batch e quindi Conchiglie fuori alla console.
  • Nello sviluppare la propria versione, non è sufficiente chiudere la finestra Console facendo clic sulla casella "Close" (X) in alto a destra della console. Questo chiuderà Visual Basic come bene e può causare la finestra Console per appendere. In entrambi i casi interrompere l'esecuzione della routine cliccando sull'opzione Form "Chiudi" o all'interno della schermata di sviluppo di Visual Basic stesso.