Daten mit in *.exe reinpacken (z.B. bilder, ...)

  • hallo, ich bin neu und arbeite gerade neu mit autoit habe erst gestern damit angefangen.
    Zu meiner Frage ich habe ein GUI Fenster erstellt und bilder reingestellt so und ich möchte die bilder aber mit in die *.exe mit reinpacken die ich für das projekt benutzt habe, wie geht das kann mir jemand dabei helfen! danke.

    • Offizieller Beitrag

    Hi,

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\au3.ico
    #AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype1.ico
    #AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype2.ico
    #AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype3.ico
    #AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype-blank.ico

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    GUICreate("Demo resource ICO's")
    $h_Button1 = GUICtrlCreateButton("my picture button", 10, 20, 80, 80, $BS_ICON)
    GUISetState()
    For $x = 0 To 7
    $rc = TraySetIcon(@ScriptFullPath, $x)
    $rc2 = GUICtrlSetImage($h_Button1, @ScriptFullPath, $x)
    If $x < 3 Then
    TrayTip("Default ico:" & $x, "TraySetIcon rc:" & $rc & @LF & "GUICtrlSetImage rc:" & $rc2, 3)
    Else
    TrayTip("New ico:" & $x, "TraySetIcon rc:" & $rc & @LF & "GUICtrlSetImage rc:" & $rc2, 3)
    EndIf
    Sleep(2000)
    Next
    GUIDelete()

    [/autoit]

    So long,

    Mega

  • Ja, eben. ;)

    Ach, das problem ist gelöst, ich habe es mit FileInstall hinbekommen. :]

    Danke, nochmal Viel Mals.

    2 Mal editiert, zuletzt von m3hm3t (12. Oktober 2007 um 15:52)

  • Hallo @m3hm3t.

    Wäre schön, wenn Du die Lsg. veröffentlichst, damit alle daraus lernen.
    Einfach alles was persönlich ist einfach verändern, nur das man sieht wie die Lsg. ist.

    Danke und ein schönes Wochenende.

    Gruss, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Ihr habe ich ein Beispiel geschrieben. ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Test", 300, 200)
    GUICtrlCreateLabel("Das ist ein Tutorial, der Zeigt wie man Dateien mit ein bindet.", 10, 10)
    SoundPlay("C:\filname.mp3") ; Datei die abgespielt werden soll
    FileInstall("C:\filname.mp3", @TempDir & "\filename.mp3") ; Datei wird mit eingebunden, und in das Temp verzeichnis kopiert.

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit]

    2 Mal editiert, zuletzt von m3hm3t (13. Oktober 2007 um 01:11)

  • Hallo @m3hm3t.

    Habe mir mal Dein Beispiel angeschaut. Erst einmal DANKE.

    Dann habe ich es getestet und wie folgt umgebaut/verändert:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    GUICreate("Beispiel", 300, 200)
    GUICtrlCreateLabel("Das ist ein Beispiel, das zeigt wie man Musik mit ein bindet.", 10, 10)
    FileInstall("C:\test\alarm.wav", "C:\tteesstt\alarm.wav")

    [/autoit] [autoit][/autoit] [autoit]

    SoundSetWaveVolume(50) ; Lautstärke auf 50%
    SoundPlay("C:\tteesstt\alarm.wav", 1) ; Datei die abgespielt werden soll

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit]

    Wichtig:
    In Zeile 8 ist die 1 (Zahl) wichtig, denn dann wird der Sound komplett abgespielt. Machst Du es nicht, wird der Sound nur so lange abgespielt, wie keine weiteren Schritte erfolgen. Habe ich der Hilfe entnommen und gleich eingearbeitet.
    Statt die 1 eine 0 und der Sound wird weiter abgespielt während das Script läuft. Habe aber festgestellt, wenn das Script beendet ist, das dann auch der Sound aufhört. Hier weiß ich nicht, wie man es machen muß, das beim Scriptende dieser erst beendet wird, wenn der Spund abgespielt ist. Hier sind die Profis gefragt.

    Aber wieder eine schöne Sache, die man sicherlich an veinigen Stellen mit einbauen kann.

    Gruss, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (13. Oktober 2007 um 11:14)

  • Achso, ok danke für deine antwort, jetzt weiß ich es. :]

    2 Mal editiert, zuletzt von m3hm3t (13. Oktober 2007 um 11:18)

  • Nee, der Sound wird abgespielt und das Script dann weiter abgearbeitet.
    Nimmst Du aber die 0 statt die 1, dann wird der Sound abgespielt und gleichzeitig das Script weiter abgearbeitet. Schau mal in die Hilfe, das hilft ;)

    Nur bei der 0 weiß ich nicht, wie man es machen sollte, das er den Sound zuende spielt, sollte das Script vor dem Soundende abgearbeitet sein.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Ach jetzt verstehe ich es genau, ja ich will ja das der sound und das script gleichzeitig laufen. ;)
    Aber Trotzdem danke Alina wenn ich es mal brauch das weiß ich es ja jetzt. :]

  • Hallo ich habe ein problem und ich denke es ist bei jedem so.
    Und Zwar wenn ich die dateien mit dem befehl FileInstall schreibe, und es dann komplimiere, und es dann auf einem anderem pc ausführe, merke ich das die dateien nicht mir drinen in der .exe sind.
    Sondern die haben nur den befehl von einem bestimmten ordner die datei aufzurufen.

    Kann mir da einer helfen, das wäre echt hilfreich.
    Danke

    2 Mal editiert, zuletzt von m3hm3t (16. Oktober 2007 um 23:18)

    • Offizieller Beitrag
    Zitat

    Und Zwar wenn ich die dateien mit dem befehl FileInstall schreibe, und es dann komplimiere, und es dann auf einem anderem pc ausführe, merke ich das die dateien nicht mir drinen in der .exe sind.


    Dann hast du etwas falsch gemacht.
    FileInstall() includet die angegebenen Dateien und sie werden mit compiliert und stehen dann zur Installation auf dem Zielrechner zur Verfügung.

  • Hallo m3hm3t.

    Anhang:
    pack.zip

    Inhalt:
    test.au3
    test.exe

    Vorgehensweise:
    Erstelle folgendes Verzeichnisse: c:\tteesstt und starte aus einem anderen Ordner heraus die test.exe. In dieser befindet sich bereits die Sounddatei, die dann abgespielt wird.
    Die test.au3 sende ich mit, damit Du verstehst wie ich das ganze gemacht habe und Du sie dann auch gleich auf Deiner HDD hast.

    Bei Problemen einfach nachfragen.

    Sourcecode:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    GUICreate("Beispiel", 300, 200)
    GUICtrlCreateLabel("Das ist ein Beispiel, das zeigt wie man Dateien mit ein bindet.", 10, 10)
    FileInstall("C:\test\alarm.wav", "C:\tteesstt\alarm.wav")

    [/autoit] [autoit][/autoit] [autoit]

    SoundSetWaveVolume(100)
    SoundPlay("C:\tteesstt\alarm.wav", 1) ; Datei die abgespielt werden soll

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit]

    Gruss, Lina.

    Dateien

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (17. Oktober 2007 um 00:03)

  • Ich war mir nicht ganz sicher da ich es noch nicht auf anderen Rechnern ausprobiert habe, aber in der Hilfe steht ja auch:

    Spoiler anzeigen


    Also wird man ihr auch glauben können ;P ....

    LG Lenny

    Jaja, Moo does the Cow!

  • [autoit]

    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    $main = GUICreate("FileInstall", 175, 200)
    GUICtrlCreateLabel("Das ist ein Test," & @CRLF & "wie man eine Datei mit einbindet.", 10, 10)
    $button = GUICtrlCreateButton("Datei Öffnen", 47, 80, 80, 25)
    FileInstall("C:\CleanFonk.jpg", @TempDir & "\CleanFonk.jpg")
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    $main2 = GUICreate("Datei", 256, 256)
    $button2 = GUICtrlCreateButton("Schließen", 90, 230, 80, 20)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    GUISetState(@SW_SHOW, $main2)
    GUICtrlCreatePic("C:\CleanFonk.jpg", 0, 0, 256, 256)
    GUISetState(@SW_HIDE, $main)
    Case $button2
    GUISetState(@SW_HIDE, $main2)
    GUISetState(@SW_SHOW, $main)
    EndSwitch

    WEnd

    [/autoit]