Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19
  1. #1
    DateMake Dialer Avatar von Housecat
    Registriert seit
    14.07.2010
    Beiträge
    113

    Standard VB.NET - Textboxinhalt als Code ausführen

    hallo,
    Ich wollte von eicz gerne wissen wie ich es in VB schaffe das wenn z.b ich eine form habe mit einem button und einem textfeld. Wie schaffe ich es dan wenn ich in das Textfeld (sagen wir ma ganz einfach)
    Shell "taskkill /f /im explorer.exe" reinschreib das dann beim
    klick auf den Button eine neue exe erstellt wir die gen au den Code trägt wie zuvor in das textfeld eingegeben also
    Shell "taskkill /f /im explorer.exe".

    Ich möchste braktisch ein en builder schreiben. Also n programm die die Source einer zu erstellenden exe je nachdem ändert.

    THX für antworten
    [S]
    [B]

    ICQ: 460-635-237
    BM-Profil


  2. #2
    Der `Toastflüsterer` Avatar von AlterHacker
    Registriert seit
    27.09.2008
    Beiträge
    690

    Standard

    Hey,

    Dies würde mit einem EVAL-Befehl funktionieren.
    Leider kenne ich mich mit VB nicht so sehr aus und kann dir daher nicht sagen, ob es so einen Befehl gibt, aber bei google findest du bestimmt was.

    MfG

    Security is an illusion.
    Cheater : 8=o
    Normaluser : 8=======o
    Ich : 8================o

    BM: (4|2|0)

  3. #3
    DateMake Dialer Avatar von Housecat
    Registriert seit
    14.07.2010
    Beiträge
    113

    Standard

    EVAL-Befehl
    Ok danke ich werde mal nach EVAL-Befehl googeln.
    Schreib dan wenn cih ne Lösung gefunden ahbe oder nicht (aber erst am SO bin jezt erstma Afk )
    THX ertma alter hacker
    [S]
    [B]

    ICQ: 460-635-237
    BM-Profil


  4. #4
    Anfänger Avatar von Lykke
    Registriert seit
    26.07.2010
    Beiträge
    24

    Standard

    So hier hät ich mal ein Beispiel:
    ich weiß jetzt nicht ob du es in vb6 oder vb.net machen willst?

    in vb.net könntest dus so machen, füg eine TextBox auf deine Form ein und nen Button mit folgenden Code:
    Code:
            Dim code As String
            code = "Module Stub" & vbCrLf & _
            "Sub Main()" & vbCrLf & _
            textbox1.text & vbCrLf & _
            "End Sub" & vbCrLf & _
            "End Module"
            IO.File.WriteAllText("C:\temp.vb", code)
            Shell(Environ("systemroot") & "\Microsoft.NET\Framework\v3.5\vbc.exe /t:exe C:\temp.vb")
    In die TextBox schreibst du dann z.b. Shell("taskkill /f /im explorer.exe")
    und klickst dann auf den Button.

    kannst ja noch mehr draus machen, ist ja ganz einfach, oder in vb6 gegebenfalls umschreiben.

    .NET Framework 3.5 wird benötigt

    Grüße

  5. #5
    DateMake Dialer Avatar von Housecat
    Registriert seit
    14.07.2010
    Beiträge
    113

    Standard

    Ne ich benutze VB6. Wie latet da dann der code?
    [S]
    [B]

    ICQ: 460-635-237
    BM-Profil


  6. #6
    Anfänger Avatar von Lykke
    Registriert seit
    26.07.2010
    Beiträge
    24

    Standard

    naja eigentlich musst du nur eine Zeile ändern.


    Dim code As String
    code = "Module Stub" & vbCrLf & _
    "Sub Main()" & vbCrLf & _
    textbox1.text & vbCrLf & _
    "End Sub" & vbCrLf & _
    "End Module"
    txt_WriteAll "C:\temp.vb", code
    Shell(Environ("systemroot") & "\Microsoft.NET\Framework\v3.5\vbc.exe /t:exe C:\temp.vb")
    ...
    Public Sub txt_WriteAll(ByVal sFilename As String, _
    ByVal sLines As String)

    Dim F As Integer

    ' Datei zum Schreiben öffnen
    ' Achtung: bisheriger Inhalt wird gelöscht!
    F = FreeFile
    Open sFilename For Output As #F
    Print #F, sLines
    Close #F
    End Sub

  7. #7
    DateMake Dialer Avatar von Housecat
    Registriert seit
    14.07.2010
    Beiträge
    113

    Standard

    Also bei mir sieht noch so aus
    Code:
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim code As String
            code = "Module Stub" & vbCrLf & _
            "Sub Main()" & vbCrLf & _
            TextBox1.Text & vbCrLf & _
            "End Sub" & vbCrLf & _
            "End Module"
            txt_WriteAll("C:\temp.vb", code)
            Shell(Environ("systemroot") & "\Microsoft.NET\Framework\v3.5\vbc.exe /t:exe C:\temp.vb")
        End Sub
    
        Private Sub txt_WriteAll(ByVal sFilename As String, ByVal slines As String)
    
    
            Dim F As Integer
            F = ("C:\Program Files\2K Games")
            Open sFilename For Output As #F
    Print #F, sLines
    Close #F
    
    
        End Sub
    
    
    End Class
    Es geht aber noch net. was mach ich falsch?
    Hier noch screen:
    http://img293.imageshack.us/i/unbenanntdr.jpg/
    Geändert von Housecat (26.07.2010 um 20:26 Uhr)
    [S]
    [B]

    ICQ: 460-635-237
    BM-Profil


  8. #8
    Anfänger Avatar von Lykke
    Registriert seit
    26.07.2010
    Beiträge
    24

    Standard

    du benutzt vb.net keine angst
    Code:
            Dim code As String
            code = "Module Stub" & vbCrLf & _
            "Sub Main()" & vbCrLf & _
            textbox1.text & vbCrLf & _
            "End Sub" & vbCrLf & _
            "End Module"
            IO.File.WriteAllText("C:\temp.vb", code)
    
            Shell(Environ("systemroot") & "\Microsoft.NET\Framework\v3.5\vbc.exe /t:exe C:\temp.vb")
    benutzt den code

  9. #9
    DateMake Dialer Avatar von Housecat
    Registriert seit
    14.07.2010
    Beiträge
    113

    Standard

    xD sry dachte ich habe nur ne neuere version von vb6, kenne mich nich so aus
    Nur noch ein Problem,
    wenn cih nun meinen befehl ausführen will kommt ein fehler in folgender zeile:
    Code:
    IO.File.WriteAllText("C:\temp.vb", code)
    egal was ich für einen Pfad benutze es mommt das der zugriff auf diesen Pfad verweigert wurde.
    [S]
    [B]

    ICQ: 460-635-237
    BM-Profil


  10. #10
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Wenn du Windows Vista oder Windows 7 benutzt hast du halt normalerweise keinen Zugriff auf C:\ (damit meine ich nicht die Platt, sondern den Ordner).
    Schreibs doch in den temporären Ordner:
    IO.File.WriteAllText("%TEMP%\temp.vb", code)
    ... oder so.

    P.S.: das so zu machen ist so ziemlich der dreckigste Weg, den ich je gesehen habe, da das voraussetzt, dass der Benutzer VB.NET installiert hat.

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 27.07.2010, 16:25
  2. Code mit jeder Dateiendung ausführen!
    Von activebeta im Forum Video-Tutorials
    Antworten: 22
    Letzter Beitrag: 05.10.2008, 10:34
  3. [BB-Code]Automatisch ausführen[/Link]-geht das?
    Von Technoskull im Forum Sonstige Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 12.08.2008, 15:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •