VBS: Programm öffnen

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von HardwareJongleur, 16.07.2012.

  1. #1 HardwareJongleur, 16.07.2012
    HardwareJongleur

    HardwareJongleur Hifi-Friend

    Dabei seit:
    10.12.2011
    Beiträge:
    986
    Zustimmungen:
    0
    Ort:
    Hamburg
    Hallo
    Ich bastel gerade an mein ersten Programm.
    Ich will kein Profi werden, jedoch finde ich es interessant wie man so was macht.
    Nun ich habe jetzt ein "Button" Der heißt jetzt "Weiter"
    Wenn man jetzt zum Code geht: Sieht der so aus
    Code:
    Public Class Form1
    
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
        End Sub
    
        Private Sub Weiter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Weiter.Click
    
        End Sub
    
        Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
    
        End Sub
    End Class
    
    Wo, wie und was muss ich ändern damit der Button nach bestätigung die CMD Box öffnet und automatisch den Befehl ausführt
    Ich danke euch vorraus mfg Michi
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 xandros, 16.07.2012
    Zuletzt bearbeitet: 16.07.2012
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.885
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Was du da verwendest ist kein VBS, sondern VB!
    Und wenn du dabei das .NET-Framework verwendest, dann solltest du nicht direkt einen Shell-Zugriff ausfuehren (Das Ergebnis wirst du nicht sonderlich lange zu sehen bekommen, da das Fenster sich recht zuegig selbst wieder schliesst!), sondern die Daten der Netzwerkkarten via WMI oder gleich die notwendigen .NET-Funktionen (Bibliothek System.Net - GetIPProperties() ) auslesen.

    Damit Code beim Druecken des Buttons ausgefuehrt wird, verwende den Part
    Code:
    Private Sub Weiter_Click .....
     
  4. #3 HardwareJongleur, 16.07.2012
    HardwareJongleur

    HardwareJongleur Hifi-Friend

    Dabei seit:
    10.12.2011
    Beiträge:
    986
    Zustimmungen:
    0
    Ort:
    Hamburg
    Ok danke dir
    Ja ich verwende Visual Basics 2010.
    Sry.
    Oha. das mit WMI und co klingt ziemlich schwer.
    Ich glaub ich geh morgen mal zur Bücherhalle.
    MfG Michi
     
  5. #4 xandros, 16.07.2012
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.885
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Ist es nicht wirklich. Bei WMI wird im Prinzip eine Anfrage an die Windows Media Instrumentation (wie ein SQL-String bei einer Datenbank) geschickt. Die Antwort enthaelt dann die gewuenschten Informationen, die man entsprechend formatiert ausgeben kann. Beim .NET-Framework hingegen kann man mit den Methoden der entsprechenden Klasse aus der System.Net-Bibliothek auf die einzelnen Eigenschaften zugreifen und diese direkt als String konvertiert ausgeben lassen.
    (bastel dir heute abend mal ein kleines Beispiel zusammen - bin zur Zeit nicht daheim!)
     
  6. #5 HardwareJongleur, 16.07.2012
    HardwareJongleur

    HardwareJongleur Hifi-Friend

    Dabei seit:
    10.12.2011
    Beiträge:
    986
    Zustimmungen:
    0
    Ort:
    Hamburg
    Freu mich schon.
    Danke schon mal vorraus.

    Ps: Wie du merkst bin ich ein neuling, habe heut VB Installiert ;S.

    Mein Code für den Button sieht jetzt so aus :

    Code:
    Public Class Form1
    
        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
        End Sub
    
        Private Sub Weiter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Weiter.Click
            Dim pr As New Process
            pr.StartInfo.FileName = "ipconfig"
            pr.StartInfo.Arguments = "/all"
            pr.Start()
    
        End Sub
    
        Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
    
        End Sub
    End Class
    Wie du schon erwähnt hast, es öffnet sich nur kurz.
    Gibt es nicht ein kleinen Code, das die CMD immer geöffnet bleibt , bis man die manuell schliesst MfG Michi
     
  7. #6 xandros, 16.07.2012
    Zuletzt bearbeitet: 16.07.2012
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.885
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Nein, gibt es nicht.
    Deinen 4-Zeiler kannst du auf eine Zeile verkuerzen! Hat allerdings den gleichen sittlichen Naehrwert und Effekt!
    Code:
    Microsoft.VisualBasic.Shell("ipconfig /all", AppWinStyle.NormalFocus, True)
    Das Problem bei beiden Varianten ist, dass dein Programm die Kontrolle uebernimmt, sobald der gestartete Prozess bzw. die Anwendung/der Befehl ausgefuehrt und beendet wurde. Und genau in dem Moment wird auch das Konsolenfenster wieder geschlossen.
    Man kann zwar durch die Angabe eines Timeouts die Anzeige beeinflussen, allerdings haelt sich dass im Millisekundenbereich auf und ist reichlich unnuetz.

    Ich habe im folgenden Code z.B. eine Textbox mit der Bezeichnung TBTest (Multiline aktiviert) auf dem Formular angelegt und ausreichend gross gezogen.
    Im Code des Buttons kann dann diese Textbox zunaechst inhaltlich geloescht und anschliessend die gewuenschten Informationen Zeilenweise gefuellt werden.
    Wenn du anstelle einer Textbox ein ListView-Element verwendest, dann kannst du die erste Spalte mit der Bezeichnung des Eintrages kennzeichnen und den Wert in die Zweite Spalte schreiben. (Sieht etwas schoener aus!)
    Code:
    Me.TBTest.Text = Nothing 'Inhalt des Textfeldes loeschen.
            Try
                Dim ifconfig = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces
                For Each element In ifconfig
                    With element
                        Me.TBTest.Text = Me.TBTest.Text & .Name & Chr(13)
                        Me.TBTest.Text = Me.TBTest.Text & .Id & Chr(13)
                        'Weitere Punkte waeren z.B.
                        '.IsReceiveOnly
                        '.LoopbackInterfaceIndex
                        '.OperationalStatus
                        '.Speed
                        '.SupportsMulticast
                        '.Description
                        '.GetIPProperties.DhcpServerAddresses
                        '.GetIPProperties.DnsAddresses
                        '.GetIPProperties.DnsSuffix
                        '.GetIPProperties.IsDnsEnabled
                        '.GetIPProperties.UnicastAddresses
                        '.GetIPProperties.MulticastAddresses
                        '.GetIPProperties.WinsServersAddresses
                        '.GetPhysicalAddress.ToString()
                        '.GetIPv4Statistics.IncomingPacketsDiscarded
                        '.GetIPv4Statistics.IncomingPacketsWithErrors
                        '.GetIPv4Statistics.OutgoingPacketsDiscarded
                        '.GetIPv4Statistics.OutgoingPacketsWithErrors
                        '.GetIPv4Statistics.UnicastPacketsReceived
    
                    End With
                Next
            Catch
                MsgBox(Err.Description)
                'Fehlerbehandlung
            End Try
    Gibt noch viele weitere Punkte, die man mit dem .NET-Framework aus den vorhandenen Netzwerkkarten abfragen kann....
     
  8. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  9. #7 xandros, 17.07.2012
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.885
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Hier noch ein Beispiel fuer Verwendung von WMI innerhalb von VB2010.....

    Anstelle einer Textbox wird hier eine Listbox verwendet, die zu Beginn geleert wird.
    Code:
    Me.ListBox1.Items.Clear()
    
            Try
                Dim oAdapters As Object
                Dim oAdapter As Object
    
                ' Computer-Name
                ListBox1.Items.Add("Name:" & vbTab & Environ$("computername"))
    
                ' alle verfügbaren Netzwerk-Adapter mit IP-Adresse  
                oAdapters = GetObject("winmgmts:").execquery( _
                  "SELECT * FROM Win32_NetworkAdapterConfiguration [FONT=monospace]WHERE IPEnabled =True[/FONT])
    
                ' Objekte durchlaufen
                For Each oAdapter In oAdapters
                    ListBox1.Items.Add("")
    
    
                    With oAdapter
                        ' MAC-Adresse
                        ListBox1.Items.Add("MAC:" & vbTab & vbTab & .MACAddress)
                        ' IP-Adresse
                        ListBox1.Items.Add("IP:" & vbTab & vbTab & Join(.IPAddress))
                        ' SubNet-Masks
                        ListBox1.Items.Add("MASK:" & vbTab & vbTab & Join(.IPSubnet))
                        ' Default-Gateways
                        If Not IsNothing(.DefaultIPGateway) Then
                            ListBox1.Items.Add("GATE:" & vbTab & vbTab & Join(.DefaultIPGateway))
                        End If
                        ' DNS - Primary/Secondary
                        ListBox1.Items.Add("DNS:" & vbTab & vbTab & .DNSHostName)
                        ' WINS - Primary
                        If Not IsDBNull(.WINSPrimaryServer) Then
                            ListBox1.Items.Add("WINS Primary:" & vbTab & .WINSPrimaryServer)
                        End If
    
                        ' WINS - Secondary
                        If Not IsDBNull(.WINSSecondaryServer) Then
                            ListBox1.Items.Add("WINS:" & vbTab & .WINSSecondaryServer)
                        End If
                    End With
                Next
    
            Catch er As Exception
                MsgBox(er.Message.ToString)
            End Try
    Unter Win32_NetworkAdapterConfiguration class findest du saemtliche Properties, die mit der verwendeten Abfrage ausgelesen werden koennen.

    So wuerde z.B.
    Code:
    ListBox1.Items.Add("DHCP aktiviert:" & vbTab & vbTab & .DHCPEnabled.ToString)
    ausgeben, ob auf der Netzwerkkarte DHCP verwendet wird oder nicht.
     
  10. #8 HardwareJongleur, 17.07.2012
    HardwareJongleur

    HardwareJongleur Hifi-Friend

    Dabei seit:
    10.12.2011
    Beiträge:
    986
    Zustimmungen:
    0
    Ort:
    Hamburg
    ok super..... vielen dank
     
Thema: VBS: Programm öffnen
Besucher kamen mit folgenden Suchen
  1. vbs programmstatus

    ,
  2. vbs programme starten

    ,
  3. vbs programm starten

    ,
  4. vbscript programme starten,
  5. bestätigung vbs ausführen,
  6. programm öffnen vbs,
  7. handle ermitteln vbskript,
  8. vbs programm schließt nach öffnen,
  9. vbs cdm öffnen,
  10. vbs programm starten wenn geschlossen,
  11. vbs programme über windows fenster ausführen,
  12. vbs aus webseite ausführen,
  13. vbscript konsole offen lassen,
  14. vbs programm handle eines buttons auslesen,
  15. vbscript quellcode um ein programm zu öffnen,
  16. vb.net programm start sofort wieder geschlossen,
  17. vbscript prozess starten,
  18. vbscript programm mit cmd starten,
  19. vbs window handle ermitteln,
  20. ipadresse ändern vbscript,
  21. vbs starte program unter anderem user,
  22. vbs object geöffnet lassen,
  23. vb2010 subnet,
  24. mit vbscript eine webseite öffnen,
  25. vbs ip adresse ändern
Die Seite wird geladen...

VBS: Programm öffnen - Ähnliche Themen

  1. Wie die Datei in MS Project 2007 zu öffnen?

    Wie die Datei in MS Project 2007 zu öffnen?: Ich versuchte die Datei in MS Project 2007 zu öffnen und bekam die Fehlermeldung “Eine unerwartete Fehler bei der Dateieröffnung. Datei kann...
  2. Kann das Programm Data Recovery Pro gesperrte Fotos frei machen?

    Kann das Programm Data Recovery Pro gesperrte Fotos frei machen?: Hallo. Ich möchte fragen ob jemand schon irgendwann das Programm Data Recovery Pro benutzt hat? Auf meinem PC sind alle dateien und Fotos von...
  3. Programm für Netzwerkerstellung

    Programm für Netzwerkerstellung: Kennt jemand ein Programm / Tool, womit ich mir ein Netzwerk aufbauen kann und Testen. Ich kenne und habe bisher verwendet (Cisco packet Tracer)....
  4. Batch Programm

    Batch Programm: Hallo leute ich hab ein kleines Problem und zwar schreib ich grad an einem kleinen Batch Programm das aus einer Datei eine Zeile aus liest und...
  5. Tabs mit Werbung bei Mozilla + Add Blocker öffnen sich einfach

    Tabs mit Werbung bei Mozilla + Add Blocker öffnen sich einfach: Hallo liebe Mitglieder! seit Zwei Tagen hab ich das Problem[IMG], dass sich einfach weitere Tabs mit Werbung öffnen sobald ich auf Mozilla[IMG]...