Bu uygulama Visual Basic uygulaması içinden bir console (DOS) ekranı çağırmak ve VB içinden bir batch dosya çalıştırarak çıktıların console ekranına basılmasını sağlamak amacını güder.
Önce Notepad'i kullanarak aşağıdaki batch dosyayı oluşturun.
DIR /W
Ve test.bat ismi ile root dizine kaydedin. Daha sonra Visual Basic'i açarak bir form ve bir modülden oluşan bir proje başlatın. Aşağıdaki API tanımlamalarını modülün içine kopyalayın.
Form üzerine bir buton koyup aşağıdaki kodu girin
Uygulamayı çalıştırdığınızda boş bir console ekranı görüntülenir. Çıkan mesaja OK deyin ve form üzerindeki butona tıklayın. Batch dosya çalışacak ve çıktısı console ekranında görünecektir. Uykusuz geceler ve şişmiş gözler dileğiyle.
Önce Notepad'i kullanarak aşağıdaki batch dosyayı oluşturun.
DIR /W
Ve test.bat ismi ile root dizine kaydedin. Daha sonra Visual Basic'i açarak bir form ve bir modülden oluşan bir proje başlatın. Aşağıdaki API tanımlamalarını modülün içine kopyalayın.
Kod:
[FONT=Arial]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 "kernel32" Alias "WriteConsoleA" _
(ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _
nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _
lpReserved As Any) As Long
Public Const STD_OUTPUT_HANDLE = -11& [/FONT]
Form üzerine bir buton koyup aşağıdaki kodu girin
Kod:
[FONT=Arial]Dim hConsole As Long
Private Sub Command1_Click()
Dim Result As Long, sOut As String, cWritten As Long
sOut = "Hi There" & vbCrLf
Result = WriteConsole(hConsole, ByVal sOut, Len(sOut), cWritten, _
ByVal 0&)
Shell "C:TEST.BAT"
End Sub
Private Sub Form_Load()
If AllocConsole() Then
hConsole = GetStdHandle(STD_OUTPUT_HANDLE)
If hConsole = 0 Then MsgBox "STDOUT için yer ayrılamadı" Else
MsgBox "Konsol için yer ayrılamadı"
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
CloseHandle hConsole
FreeConsole
End Sub [/FONT]
Uygulamayı çalıştırdığınızda boş bir console ekranı görüntülenir. Çıkan mesaja OK deyin ve form üzerindeki butona tıklayın. Batch dosya çalışacak ve çıktısı console ekranında görünecektir. Uykusuz geceler ve şişmiş gözler dileğiyle.
