Bild mit Link versehen

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von alecsoft.

    Bild mit Link versehen

    Hallo Leute,

    ich möchte gerne wissen, wie ich ein bereits eingefügtes Bild mit einem Link versetzen kann. Es soll folgendes Passieren:
    Ich habe das Cover des Spiels "Call of Duty" als Bild eingefügt, soweit komm ich^^. Dann habe ich eine EXE Datei als Resource geladen.
    Nun möchte ich, dass wenn man auf das Bild klickt, sich die EXE Datei öffnet.

    Ich bin relativ neu mit VB und bitte erklärt es mir wie für Idioten^^

    MfG, skrippi
    Hi,

    das Einkompillieren einer Anwendung ist nicht so einfach, das einfachste ist die Anwendung in einem Ordner (in dem Fall "Resources") mitzukopieren, siehe Eigenschaften der test.exe -> Im Ausgabeverzeichniss kopieren...

    Ein Beispiel-Projekt, siehe Anahng !

    Ciao...
    Dateien

    VB.NET-Quellcode

    1. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox34.Click
    2. Try
    3. Process.start(My.resources.justcause2.exe)
    4. Catch ex as exception
    5. msgbox("Some Error has occured")
    6. End Try
    7. End Sub
    Jo also Syhas hat mich verstanden. Das hätte fast geklappt nur funktioniert nur eine Sache jetzt nich. Ich bekomme folgenden Fehler:

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    Try
    Process.start(My.resources.justcause2.exe)
    Catch ex as exception
    msgbox("Some Error has occured")
    End Try
    End Sub

    Fehler: "exe" ist kein Member von System.Array


    Was fehlt jetzt noch?
    Muss es nicht heißen "
    Catch exe as exception" und nicht "Catch ex as exception"?

    MfG, skrippi

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „skrippi“ ()

    gut gedacht, schlecht gemacht. ist ne geile idee aber leider kackt sich vb wieder ein. Jetzt kommt ein wahnsinns error:

    Fehler 1 Fehler bei der Überladungsauflösung, da keine zugreifbare "Start" mit diesen Argumenten aufgerufen werden kann:
    'Public Shared Function Start(startInfo As System.Diagnostics.ProcessStartInfo) As System.Diagnostics.Process': Der Wert vom Typ "1-dimensionales Array von Byte" kann nicht in "System.Diagnostics.ProcessStartInfo" konvertiert werden.
    'Public Shared Function Start(fileName As String) As System.Diagnostics.Process': Der Wert vom Typ "1-dimensionales Array von Byte" kann nicht in "String" konvertiert werden. C:\Users\Daniel\Desktop\WindowsApplication1\WindowsApplication1\Form1.vb 5 13 WindowsApplication1

    Ich glaub das muss anders gehn...
    hast du denn schon Adam seine lösung aus post 7 gesehen.
    dort zeigt er doch sehr schön wie es geht !

    warum sollte das bei dir nicht funktionieren ?

    was ist das denn für eine exe ? braucht diese exe vieleicht auch irgendwelche dll ?
    Hi skrippi,

    die Exe-Datei befindet sich ja in den Ressourcen als Binäre Datei, d.h. als Byte-Array in diesem Fall.
    Du musst sie erst einmal entpacken, um sie dann zu starten.

    Hier findest du den richtigen Code dafür:
    [VB 2008] Exe Datei aus Ressource starten
    | Keine Fragen per PN oder Skype.
    na gut also entpacken ist leichter gesagt als getan. das ganze ist ein virenfreier trainer für ein spiel.
    ich hab ihn mal auf meinen server für euch geladen: iceload.net/justcause2.exe

    da ich wie gesgat noch sehr neu bin: wie entpackt man denn eine exe datei? ist das mit der denn möglich?

    @chaosbernd: hab ich schon probiert und geht auch gut, ABER ich möchte das als eine datei haben ohne diesen ordner immer mitrumschleppen zu müssen...


    EDIT:

    Nach unglaublichem gebastel, kommt jetzt wenigstens kein error mehr, aber ich kommt beim klick auf das bild auch nich die exe datei sondern nur eine meldung:

    VB.NET-Quellcode

    1. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    2. Try
    3. System.IO.File.WriteAllBytes("justcuase2.exe", My.Resources.justcause2)
    4. System.Diagnostics.Process.Start("justcause2.exe")
    5. Catch ex As Exception
    6. MsgBox("Some Error has occured")
    7. End Try

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „skrippi“ ()

    Ähm kann das daran liegen, dass du bei System.IO.File.WriteAllBytes "justcuase2.exe" geschrieben hast?

    Wenn nicht:

    VB.NET-Quellcode

    1. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    2. Try
    3. System.IO.File.WriteAllBytes(IO.Path.Combine(My.Application.StartupPath,"justcause2.exe"), My.Resources.justcause2)
    4. System.Diagnostics.Process.Start(IO.Path.Combine(My.Application.StartupPath,"justcause2.exe"))
    5. Catch ex As Exception
    6. MsgBox("Some Error has occured")
    7. End Try
    | Keine Fragen per PN oder Skype.