Visual Basic

Dieses Thema im Forum "Programmieren" wurde erstellt von joshi123, 6. Februar 2006.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. joshi123

    joshi123 Byte

    Registriert seit:
    20. Dezember 2005
    Beiträge:
    40
    Hallo Leute, ich hoffe es kann mir jemand helfen...

    und zwar habe ich ein paar befehle in einer normalen .bat-datei stehen diese möchte ich aber jetzt in visual basic einbringen, das heisst ich habe ein Fenster mit Buttons, wenn ich auf einen button klicke, dann sollen die befehle ausgeführt werden, welche normalerweise in der .bat-datei stehen.

    es funktioniert zwar, dass ich durch drücken des buttons die bat-datei ausgeführt wird, aber dies möchte ich nicht, sondern alles via das neue Visual-Basic-Programm ausgeführt werden ohne das eine andere bat-datei ausgeführt wird.

    der code der ausgeführt werden soll, sieht folgender maßen aus :



    pushd interface

    reset all

    popd

    pushd interface ip

    set address name = "LAN-Verbindung" source = static addr = xxx.xxx.xxx.xxx mask = xxx.xxx.xxx.xxx
    set address name = "LAN-Verbindung" gateway = xxx.xxx.xxx.xxx gwmetric = x
    set dns name = "LAN-Verbindung" source = static addr = none
    set wins name = "LAN-Verbindung" source = static addr = none





    P.S.: die "X" stehen für bestimmte zahlen, die ich hier nicht veröffentlichen möchte.


    vielen dank im vorraus
    Joshi
     
  2. whisky

    whisky Ganzes Gigabyte

    Registriert seit:
    1. Oktober 2001
    Beiträge:
    11.014
    Welche Version von Visual Basic?
     
  3. joshi123

    joshi123 Byte

    Registriert seit:
    20. Dezember 2005
    Beiträge:
    40
    Version 6.0
     
  4. whisky

    whisky Ganzes Gigabyte

    Registriert seit:
    1. Oktober 2001
    Beiträge:
    11.014
    Unter VB 6.0 werden Anwendungen mit dem Befehl

    Shell

    gestartet

    Beispiel:

    Code:
    Shell ("pushd interface"), vbNormalFocus
     
  5. joshi123

    joshi123 Byte

    Registriert seit:
    20. Dezember 2005
    Beiträge:
    40
    Zur Zeit sieht mein Formular so aus :

    Private Sub Command1_Click()

    Shell "axc.bat"

    End Sub

    Es funktioniert auch, nur wollte ich eigentlich umgehen, das durch anklicken des Buttons eine Datei geöffnet wird, sondern die Befehle, welche in der BAT-Datei stehen direkt ausgeführt werden, ohne die BAT-Datei zustarten.
    In der BAT-Datei steht folgendes drin, wie auch schon in meiner ersten Antwort geschrieben und dies soll inerhalb von dem VB-Programm ausgeführt werden und nicht über eine gesonderte Datei, oder ist es möglich die BAT-Datei versteckt auszuführen (ohne das sich im Hintergrund eine DOS-Prompt öffnet??? :


    pushd interface

    reset all

    popd

    pushd interface ip

    set address name = "LAN-Verbindung" source = static addr = xxx.xxx.xxx.xxx mask = xxx.xxx.xxx.xxx
    set address name = "LAN-Verbindung" gateway = xxx.xxx.xxx.xxx gwmetric = x
    set dns name = "LAN-Verbindung" source = static addr = none
    set wins name = "LAN-Verbindung" source = static addr = none
     
  6. whisky

    whisky Ganzes Gigabyte

    Registriert seit:
    1. Oktober 2001
    Beiträge:
    11.014
    Unter Vb.net wurde das ganze besser gelöst aber unter VB 6.0 kannst du es mit

    Shell ("axc.bat"), vbHide

    versuchen
     
  7. joshi123

    joshi123 Byte

    Registriert seit:
    20. Dezember 2005
    Beiträge:
    40
    Vielen vielen Dank, es funktioniert tatsächlich!

    Was ist eigentlich der Unterschied bzw. was ist besser an VB-Net???
    und wie wird mein Problem bei VB-Net gelöst?
     
  8. whisky

    whisky Ganzes Gigabyte

    Registriert seit:
    1. Oktober 2001
    Beiträge:
    11.014
    http://de.wikipedia.org/wiki/Visual_Basic

    Code:
    'Führt "Ping" mit den inhalt von argumente als Parameter aus und leitet die 
    'Standartausgabe des Programmes in die Textbox1 um
    
    Dim prog As Process = New Process
    Dim argumente As String
    
    
    prog.StartInfo.FileName = "ping "
    prog.StartInfo.Arguments = argumente
    prog.StartInfo.UseShellExecute = False
    prog.StartInfo.RedirectStandardOutput = True
    prog.StartInfo.CreateNoWindow = True
    prog.Start()
    ' Konsolenausgabe in Textbox umleiten
    TextBox1.Text = prog.StandardOutput.ReadToEnd()
    prog.WaitForExit()
    Damit hat man das DOS Programm soweit im Griff das sogar die Ausgabe in eine Textbox umgeleitet wird
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen