Datei in Exe importieren

  • Hallo,

    habe ein Problem beim Scripten.

    Undzwar möchte ich eine Audio-Datei in ein Script einbinden und dieses durch ein Passwort schützen.
    Die Datei sollte nach der passwort eingabe in einen temporären ordner exportiert und geöffnet werden und sobald die Datei geschlossen wird, soll der Ordner auch wieder gelöscht werden.

    Nur Leider klappt das mit dem von mir erstellten script nicht.


    Weiss vllt. einer weiter ? :)
    Danke schonmal.


    Hier der Quellcode:

    Spoiler anzeigen


    $neuesverzeichnis = "C:\Temp\TestOrdner\"
    $GUI = GUICreate("Login",210,80,-1,-1,0x16C80000,0x00000181)
    $PASSWORD = GUICtrlCreateInput("Password",5,30,200,20,0x21)
    $LOGIN = GUICtrlCreateButton("Login",50,55,100,20)
    GUISetState(@SW_SHOW,$GUI)

    While 1
    $MSG = GUIGetMsg()
    If $MSG = $LOGIN Then
    If GUICtrlRead($PASSWORD) == "Test" Then
    MsgBox(0,"Login","You are logged in")
    Else
    MsgBox(0,"Login","Fehler!")
    EndIf
    ElseIf $MSG = -3 Then
    Exit
    EndIf
    Sleep(20)
    Wend

    Func _Func1 ()

    WinKill("Login")
    DirCreate($neuesverzeichnis)
    FileSetAttrib($neuesverzeichnis,"+H")
    sleep(10)
    If FileExists($neuesverzeichnis) Then MsgBox(8192, "Test", $neuesverzeichnis" wurde angelegt.")
    If FileExists($neuesverzeichnis) Then FileInstall ("C:\Dokumente und Einstellungen\Benutzer\Desktop\Audio.mp3", $neuesverzeichnis)
    sleep(10)
    ShellExecute ($datei)
    ProcessWaitClose("Excel.exe")
    DirRemove($neuesverzeichnis, 1)
    sleep(10)
    If FileExists($neuesverzeichnis) Then MsgBox(8192, "Ergebnis:", "Schlecht -.-")
    If not FileExists($neuesverzeichnis) Then MsgBox(8192, "Ergebnis:", "Gut :-)")

    EndFunc

    Einmal editiert, zuletzt von Striscia (16. November 2010 um 12:30)

  • ProcessWaitClose("Excel.exe") in Verbindung mit einer .mp3 leuchtet mir nicht ein, aber das Zauberwort zum mitgeben von Dateien ist FileInstall().

    Spoiler anzeigen
    [autoit]

    $neuesverzeichnis = @TempDir & "\TestOrdner\"
    $datei = "deine.mp3" ; Dateinamen anpassen
    $GUI = GUICreate("Login", 210, 80, -1, -1, 0x16C80000, 0x00000181)
    $PASSWORD = GUICtrlCreateInput("Password", 5, 30, 200, 20, 0x21)
    $LOGIN = GUICtrlCreateButton("Login", 50, 55, 100, 20)
    GUISetState(@SW_SHOW, $GUI)

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

    While 1
    $MSG = GUIGetMsg()
    If $MSG = $LOGIN Then
    If GUICtrlRead($PASSWORD) == "Test" Then
    MsgBox(0, "Login", "You are logged in")
    _Func1()
    Else
    MsgBox(0, "Login", "Fehler!")
    EndIf
    ElseIf $MSG = -3 Then
    Exit
    EndIf
    Sleep(20)
    WEnd

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

    Func _Func1()
    GUIDelete($GUI)
    If Not DirCreate($neuesverzeichnis) Then
    MsgBox(0, "Fehler", "Zielordner konnte nicht erstellt werden")
    Exit
    Else
    If Not FileInstall("Pfad\zu\deine.mp3", $neuesverzeichnis) Then ; Pfad anpassen
    MsgBox(0, "Fehler", "Datei konnte nicht kopiert werden werden")
    Exit
    Else
    If Not ShellExecute($neuesverzeichnis & $datei) Then
    MsgBox(0, "Fehler", $neuesverzeichnis & $datei & " konnte nicht ausgeführt werden")
    Exit
    Else
    ProcessWaitClose("Excel.exe")
    If Not DirRemove($neuesverzeichnis, 1) Then
    MsgBox(0, "Fehler", $neuesverzeichnis & " konnte nicht gelöscht werden")
    Exit
    EndIf
    EndIf
    EndIf
    EndIf
    Exit
    EndFunc ;==>_Func1

    [/autoit]
  • Danke i2c für die Änderungen im Script :)


    ProcessWaitClose("Excel.exe") in Verbindung mit einer .mp3 leuchtet mir nicht ein, aber das Zauberwort zum mitgeben von Dateien ist FileInstall().


    Habe Excel-Mappen genutzt, da ich hier keine .mp3s zum Testen hatte :)

    Habe jetzt das Script noch mal so überarbeitet dass es für mich perfekt ist, wenn ich es ausführe geht es auch problemlos, nur wenn ich es kompilieren will, dann kommt immer ein Error "Invalid FileInstall() function:" kann mir da vllt. einer helfen? werde verrückt.

    Das Script erfüllt ja seinen Zweck, aber wie gesagt, es lässt sich nicht kompilieren...

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <misc.au3>

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

    $neuesverzeichnis = "C:\Temp\TestOrdner\"
    $Titel = "xxx"
    $Passwort = "xxx"
    $Track = "C:\Dokumente und Einstellungen\Benutzername\Desktop\track.mp3"
    $Lyrics = "C:\Dokumente und Einstellungen\Benutzername\Desktop\lyrics.txt"
    $ProgrammT = "wmp.exe"
    $ProgrammL = "notepad.exe"
    $GUI = GUICreate($Titel,210,120,-1,-1,0x16C80000,0x00000181)
    $PASSWORD = GUICtrlCreateInput("",5,30,200,20,0x21)
    $TEXT = GUICtrlCreateLabel("Passwort:",80,07)
    $LOGIN = GUICtrlCreateButton("Track abspielen",55,60,100,20)
    $LOGIN2 = GUICtrlCreateButton("Lyrics anzeigen",55,90,100,20)
    GUISetState(@SW_SHOW)
    ControlFocus ( $Titel, "", 3 )

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

    While Sleep(15)
    $MSG = GUIGetMsg()
    Switch $MSG
    Case -3
    Exit

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

    Case $LOGIN
    _check1()
    EndSwitch
    Sleep(50)

    Switch $MSG
    Case $LOGIN2
    _check2()
    EndSwitch
    Sleep(50)

    Wend

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

    Func _check1()
    If GUICtrlRead($PASSWORD) = $Passwort Then
    MsgBox(0,"Login","Richtiges Passwort!")
    _Func1()
    Else
    MsgBox(0,"Login","Falsches Passwort!")
    EndIf
    EndFunc

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

    Func _check2()
    If GUICtrlRead($PASSWORD) = $Passwort Then
    MsgBox(0,"Login","Richtiges Passwort!")
    _Func2()
    Else
    MsgBox(0,"Login","Falsches Passwort!")
    EndIf
    EndFunc


    Func _Func1()
    WinSetState($Titel,"",@SW_SHOW)
    DirCreate($neuesverzeichnis)
    FileSetAttrib($neuesverzeichnis,"+H")
    sleep(10)
    If FileExists($neuesverzeichnis) Then MsgBox(8192, "", "Datei wird geöffnet!")
    If FileExists($neuesverzeichnis) Then FileInstall($Track, $neuesverzeichnis)
    sleep(10)
    ShellExecute ($Track)
    ProcessWaitClose($ProgrammT)
    DirRemove($neuesverzeichnis, 1)
    sleep(10)
    If FileExists($neuesverzeichnis) Then MsgBox(8192, "Ergebnis:", "Schlecht -.-")
    If not FileExists($neuesverzeichnis) Then MsgBox(8192, "Ergebnis:", "Gut :-)")
    Exit
    EndFunc

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

    Func _Func2()
    ;WinSetState("Login","",@SW_HIDE)
    WinSetState($Titel,"",@SW_SHOW)
    DirCreate($neuesverzeichnis)
    FileSetAttrib($neuesverzeichnis,"+H")
    sleep(10)
    If FileExists($neuesverzeichnis) Then MsgBox(8192, "", "Datei wird geöffnet!")
    If FileExists($neuesverzeichnis) Then FileInstall($Lyrics, $neuesverzeichnis)
    sleep(10)
    ShellExecute ($Lyrics)
    ProcessWaitClose($ProgrammL)
    DirRemove($neuesverzeichnis, 1)
    sleep(10)
    If FileExists($neuesverzeichnis) Then MsgBox(8192, "Ergebnis:", "Schlecht -.-")
    If not FileExists($neuesverzeichnis) Then MsgBox(8192, "Ergebnis:", "Gut :-)")
    Exit
    EndFunc

    [/autoit]
  • Zitat

    Zitat aus der Hilfe:
    Der Quellpfad der Datei, die eingebunden und kompiliert werden soll. Dieser muss ein reiner String sein; er kann keine Variable oder das Ergebnis eines Funktionsaufrufes sein. Es kann ein relativer Pfad (man verwendet .\ oder ..\ in dem Pfad) zu der Quelldatei (.au3) sein.


    http://translation.autoit.de/onlinehilfe/fu…FileInstall.htm

  • Da liegt also der Hund begraben, dankeschön für die schnelle Hilfe...
    Gleich getestet und siehe da... es geeehhhttt :)

    Edit:
    Ok, eine letzte Frage hätte ich da noch...
    Ist es möglich die Datei fest in die Exe zu kopieren, d.h...
    Kann ich nur durch die exe die .mp3 öffnen, ohne dass diese seperat auf dem Computer liegt?

  • meinste hier so etwas

    [autoit]


    Local $data1 = ""
    $data1 &= "0xFFF344C4000000025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4530000025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E6E3800205FFF344C4A60000025B200000000941300E07C9951CC0988ED080040443FC240904C6496259FF5DB5EFE2C59CB29ABEF3458604F8CA8241319258860DC4474730070AD30200000702B78240000387202C00C0F8E8C88604C4768100203A46C1C1FFF344C4F91340025B2000000081E54ECCE36DFCA526F75EB39B335F6383058FE30B1CD5EBDF2E0FBC10FB8BC4009A8102E1FF120D07FF00431042102F9A480C8F3EF38707BF4CBF39F9A0EC2C140967BFC759B9FA200903618FFE6E7E8964F1FFF344C4FF14C0025B20000000DA1B0ED06491FFE71947E0E1E82E04B25117FFF4C967CD2AD3A242441A26842FFFFE6EFAF7BEF372E294A17FFFF47FFFE80048A274A28A02492C8B8D754CB6CA66CFC795C8754E02C4A737B161BE722DC2D84EFFF344C4FF20C1D484014C600023E738856F4210AF32D03A9AF4FBC6F7A6E50228B845C5A9B80C8FEF33FBDD8D3F19863EECDD78937CCDED1318BCDAA46A0C44BFFE79E37F217DF86D491BBF5D228A720202002973B38524EE1528ED2CF6EB18FFF344C4CF1681D235718B5800DE5420A7A5917C8790E621E4E00D002DD8363E7A9A6644613E5D039182D80B803DBB1A2AB7344942138A5C3E40B381BE3BD69549A4E92C2DF00C420C283A82D00686A5B6CEAB607000E13EE74BE794DABEDFC9FFF344C4C817296E62518C7801B2B9997D342E4FFFFFFF9BA07DCDFFFFC4053FDB68F4391C4100004080C432000F6D241ABECB10CC9C5870E9E0B7212E8E525CFBA8DC4004A078140C47A3BA69CF266C81A26709141CA038C2D690752B3506C8FFF344C4BE1F824AC637989926F418725CC0DCA218C2C0FA8D8D87AA268C92048A0EA6AD2B6A775D352E8216FEA5FABF56AF7F74D7D5764D02E1B3FEB5F531A1DFFF303C6048FE5B72599110000CE101A4C8A45D0644A4B9A76436A21F182E88FFF344C4931EC2C2F65F8C680083550585610586F0666A4A9BB323635797487188A54AA726C48B292312A212E9750590F450E514EB5A2583C8BA925ACB4FD4E6B77AF652EF5288784DD486ED9ABAF4A19E8FD2C480024900BF9B12C1814B42A5FFF344C46B17419EEE0B869000ED6D796FF70E097D26A8904E9040D82B232B22DED0294D5EF4C6F54F2493D751A1A35127B2559F1FFF8BE3FAE7FC5E793758FFF67BB421B57F8DA441A0280A92C116AA4B834873C526AD8CEED6F86D5498401FFFF344C46111C136E1FFCF780000129A5A65A5D85C144AD91CBD25E4D76A7996F9322968FF5E9E71E2AB6AC8B0740A1B0D034F1A0D096A3C1DFFFFFFFF12FFFF46814B04099A10B2AFE55A85A14286BAAE750B17C8E9395700CA0293934D2ACBFFF344C46D130132D1F64BCC920CE54390E73B3A2375472D166646285246D654CE63E775382C544AC63C14695F8544D0E8D0F49756D80030D72B2530762AAE294AD3516256B881A2185E0C08015C2D4BB7E9D88393B1E1390E5A6F5926108385FFF344C47412011A95F84BCC90C840942D89A3C143D32494BC3B0336BF1915B703842318EFFFB2E307E8407990580A00B6FB6D255EBFA5149A76814D6A4CAB89326F50E040668F0BBDBEB52C0D0C72C1C29440863441232606B8AA0C48A74BBDFFF344C47F12690A71F043D271299E1190A4DFE063C2A1E581DA9079D02CFFFFFFFFAB39B60160C033F22B8A842504B1333348F692148E85947521CCEC4EE1BBDF792D191E5E94D022C8019696431334AB188CD2FE6A4676AECFB13C4BE5C92AFFF344C48812C15275564BD092D9B8738F00B004FFB8FA003630028A68F14D09438BDF9769D7EA69DFDA3B0FE0C9793C0C13AFD439E772BA3F218193E640A645738522A932F48A028598A86F9F521E2BFFE559EB2B26DE52F31603876C8E8CF8FFF344C49012014671F433D29191DB2492D4DA210A3C01010017B77AA3D00414ECAAEC503401F09986E86C19767B098936392E3DA416040CB9B02C8CBA732B961498070310181B1017DD4EA5BEC606850340D5022A00C3D24B69E4FC0E224024FFF344C49B11F96671E94C480130F26F5BB3B6B666AFA655206572A35557AD3BFD6E6E9A7FFFFFFEB75A74ED4190FFFFFFFF3C99A17FCAE8F210860000043024184009C3F88ECE55831159D9C58C8ECCBA1B5A8E22E7F046B46BBA40B49BB336FFF344C4A61F0302D65798A126F3B38A3BBD9467DB14B79CBB5389E379AEBB2D7A625512CE2FEFAE785BCF9CFAFDB9535FADF29F3DFEF5DC6FE5FBFAF632DE1ACF996B0C3F5FFFCEF30D73F99EE6CF0A8B0DFC13684059962EEFFCD3BF47B2C8FFF344C47D1EC1C2EE578CC000E8100DF07DA5D2AB5DDE7BE65CC35DCB2FDDDBF0FD0A7A8D50C2A8395383832998E1DDF1F2D8B6C38DAEDE90EC27BD337757DFF1F689A9E461AEFE0A9D24B861C04B459EB059AFFE88EF8756238017240030B5FFF344C45513012EEA35D8580014C6A26E41777D5358CDB157B9511FCDA1693951663BC7840CA363659FDE5D56C7EFCA32028652131283267708A3785A5908BCAB426EE47FFC349A7FB7633301C7489F8A8A5994E4444DB7B5ADB3E0C59603B3FFF344C45C1140F2E6B61BD270"
    $data1 &= "B4C94E8E627601A804207D93682C3E1512AB1215558F59694AE292259AA69099550C5282F06FE415F89C6FCD60A6D82B945FDF4440460140082B06155D6B2B0E9D6BAAE3EF3AACE5F4E95C1A45B8FF4009EA3AFFF344C46A1240FEBE904BD271D684411A40E9356E3CF1F128ACB4EDE65A869F6FEAC0B976B2FC5933CA883D5E25CA4D7BFFAE364BD0259090333D6BB5AA9B726ABB8706B4DB295C3F0DD320BC97D02786B8E93A7D186D06B085488B95060664FFF344C4741278FE8DFE4BD8710140C92A296F4B21769E39147E33FFF3BCF6AD55C9461ECBFEDAFE787E41080A007254749C7D35E4DAAA6D35F7A5266AA8202B8F5625221D70E39BF9E69F65F958C49E7ACDDD03FB4B58C3D68DBA56D8D859AEFFF344C47D11693A6D4A33D291BE7E90738C0E1AB17532B48580E39EF6FFFFFFF47F4D10901092FA2925CD38476D22E7106988EBC02918E6E9BA3D07E312B543352CC2DD05EBD5D0AD26872A9B125C5CF144D7573CE53697E9A7FFFE5A68E56CFFF344C48A1301326D564B1692D6D7C20603DDEB3FF48BDFBF2F8081C00E5BE75145A8D8DD66A56DD751A2C5787702A969982ECFA430DF5A7281BB363A93EF093CB3289185DA24195706CF676EEDDF3CCB55B36B49EDD550799C5089A0E0548BFFF344C491128136614A43D8914A346FFFFFFF95156089000E47238CA4B9091C62F8E5F5EDF4FB2D47EC5905752AAE80E57D67CF8BE15291EC149B7080DB24B91B7DB9FFFC72A332E14915619CA8844287CCD9FFF2C428C5C83A81E93369914BFFF344C49A1381665D4E4BCC907A0040B1636C73870D4A1DDB8D9C553A1DB8314D9B4694EC52E5B6E14E2566D2FEE2DE5EEB776D03751B964CBC63FFC4F6E71274714189071222549D8E2BCFA37C27F916B5752195368F1A52B94016FD6A6456FFF344C49F1241525D4E4BC6928102F36598AE2B4CC943AF0D40F8851D264E78437204D0CDB69C4DAE34F227140C2013850D040129E0B5A9371720C1A353D4A436F669C7B0B2675E1060AB535F328180573CD464916341828492D6AD296C567AFFF344C4A91341525156618C9014324C2A0892C631214538227C4B0AB55656255AEC0C8B5C1272289D147257049305B2244891467E9C91AA38959147CB51A89D55920AC79E0B0C90139E34851152A71784E934979C2707A122190F1C2E81B3CDFFF344C4AF124136554E48C69221222A54A2EC6E5C3651AF44418481011E626A48883091220F4373728E2E37BD3C66FF9527165C5E6E54D1C5C0E7FD5EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4B912B98A2CA0324C95FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4C112B99980004A4C95FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4C90740025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4FF14C0025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4FF14C0025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4FF14C0025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4FF14C0025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4FF14C0025B20000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD405CE10930EFFF344C4FF14C0025B200000008F890C138A06C6852260884C240C84838130604E242736482B285454251E1C161F120AC405511936DC565AA912B3C5E9D21747A1243E0C423060301B8C0772619A486D9AD2D7912B50FAB3C3B2E154C8D48E58FFF344C4FF14C0025B200000003C56B17B10DA27E3ADA28DCBF7C7106169DDF56D57FFFFFFE96065550321185AA075461605249C4D8203104083268D1A362E7B082C301200F88E7F1B10D890585EFB1CBFF9B8C965B619259B8E0221E1992C4BFFF344C4FF14C0025B200000003FF9959530728B292D9D88601074A1C1E55B25ABDFA55F4913F7ED816526FFAB00044E011C3C7E0263F816DFB21C219ADD5FDE3634C2CEC6B73AA2D2523E28C5782006C81348C394520AAEC85A923D2B181353FFF344C4FF1F39B8B8004A58959C1E51863B8B757D2ABB2C6191E0"
    $data1 &= "212644380F4B712ED32F1D7108E5E8D9650913AC44A84822D384DF80CC66382200008DA28EBCB9AB2DC6535D097D9178396A3C8274B83D4ED838053A46664990A485294A9AFFF344C4D516296E25B24B18916D8264D89A174D500263A14B525C52C373C552484C295A7784304F165C319E9E160F08DD9AFFFD6E167F9E5F15E30CE04DAA5F41A6FFF8CD1A42447119E26212CBB9A6952C5C90D0A42C325D04E996A161BBBAFFF344C4CF1539663D727A5891B90D6232C8942913C98827AD3712E6618ADB47DD321E4A6606EA4C8E5097C55CBC4B9982EA751124A4A64B4D1EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4CD14C16638AE619290FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF344C4CD14F965EC007A5891FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"

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

    _CreateTmpFile('mp3.mp3', $data1)

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

    Func _CreateTmpFile($sFileName, $sBin)
    Local $sFile = @scriptdir & "\" & $sFileName
    Local $hFileOut = FileOpen($sFile, 18)
    FileWrite($hFileOut, Binary($sBin))
    FileClose($hFileOut)
    Return $sFile
    EndFunc

    [/autoit]
  • Hi,

    FileInstall fügt die Datei beim "kompilieren" den Resourcen deiner EXE hinzu und entpackt sie bei Aufruf wieder aus der EXE.
    Probier's aus, kompiliere dein Skript und entferne die MP3. Dann die EXE ausführen ...


    Gruß
    Greenhorn


  • Greenhorn:
    Thx aber mit Fileinstall klappt das nicht.
    Es kommt immer eine Fehlermeldung dass die Datei nicht gefunden wird...

    @ XP-User:
    Deine Methode probier ich seit ner stunde aus, will nicht hinhauen xD
    Ich melde mich sobald ich es hab xD


    Edit:
    Die Datei wird zwar exportiert, aber nicht gleich geöffnet.
    und ich hätte eben dass er die Datei gleich öffnet.

    Einmal editiert, zuletzt von Striscia (15. November 2010 um 11:37)

  • Greenhorn:
    Thx aber mit Fileinstall klappt das nicht.
    Es kommt immer eine Fehlermeldung dass die Datei nicht gefunden wird...


    Dann hast du FileInstall falsch angewendet!

    @ XP-User:
    Deine Methode probier ich seit ner stunde aus, will nicht hinhauen xD
    Ich melde mich sobald ich es hab xD


    Edit:
    Die Datei wird zwar exportiert, aber nicht gleich geöffnet.
    und ich hätte eben dass er die Datei gleich öffnet.

    im Anhang das ergänzte Skript (Passwortabfrage musst du noch einbauen) zum Umwandeln deiner MP3-Datei lies dir ;Fremddateien "includen" (ohne FileInstall) von BugFix durch,


    mfg autoBert

  • häng doch einfach mal

    [autoit]


    ShellExecute(@ScriptDir & "\mp.mp3")

    [/autoit]


    hinten dran, also bei klappt es bestens. Ob mit Mp3, Jpg(s) oder Exe

    Such doch mal im Profil von Bugfix von Ihm stammte das Script.

    Muss mal nachsehen, wo der Quellcode hin ist aber habe den bestimmt noch :rolleyes:

  • Es klappt solange bis ich die exe in ein anderes verzeichnis kopieren, dann nicht...

    XP-User ich arbeite gerade an deinem vorschlag, dankeschön. :)

    Einmal editiert, zuletzt von Striscia (16. November 2010 um 08:37)

  • Es funktioniert alles wie es soll, juhuuu :)
    Thx nochmal an alle die geholfen haben :)

    Hier das Script.

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <misc.au3>
    #include <Sound.au3>

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

    ; String mit den Binärdaten von: E:\Eigene Datein\Musik\Sonstige\mp3.mp3
    Local $data1 = ""
    $data1 = " Binärdaten "
    ; String mit den Binärdaten von: E:\Eigene Datein\Bilder\Verschiedenes\txt.txt
    Local $data2 = ""
    $data2 &= " Binärdaten "

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

    $Titel = "Titel"
    $Passwort = "passwort1"
    $Passwort2 = "passwort2"
    ; data1 = track
    ; data2 = lyrics
    $GUI = GUICreate($Titel,210,120,-1,-1,0x16C80000,0x00000181)
    $PASSWORD = GUICtrlCreateInput("",5,30,200,20,0x21)
    $TEXT = GUICtrlCreateLabel("Passwort:",80,07)
    $LOGIN = GUICtrlCreateButton("Track abspielen",55,60,100,20)
    $LOGIN2 = GUICtrlCreateButton("Songtext anzeigen",55,90,100,20)
    GUISetState(@SW_SHOW)
    ControlFocus ( $Titel, "", 3 )

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

    While Sleep(15)
    $MSG = GUIGetMsg()
    Switch $MSG
    Case -3
    Exit

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

    Case $LOGIN
    _check1()
    EndSwitch
    Sleep(50)

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

    Switch $MSG
    Case $LOGIN2
    _check2()
    EndSwitch
    Sleep(50)

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

    Wend

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

    Func _check1()
    If GUICtrlRead($PASSWORD) = $Passwort Then
    MsgBox(0,"Login","Richtiges Passwort!")
    $sMP3 = _CreateTmpFile1('track.mp3', $data1)
    $Sound = _SoundOpen($sMP3)
    Else
    MsgBox(0,"Login","Falsches Passwort!")
    EndIf
    EndFunc

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

    Func _check2()
    If GUICtrlRead($PASSWORD) = $Passwort2 Then
    MsgBox(0,"Login","Richtiges Passwort!")
    $sPic = _CreateTmpFile2('lyrics.txt', $data2)
    $Cover = FileOpen($sPic)
    Else
    MsgBox(0,"Login","Falsches Passwort!")
    EndIf
    EndFunc

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

    Func _CreateTmpFile1($sFileName, $sBin)
    Local $sFile = @TempDir & "\" & $sFileName
    Local $hFileOut = FileOpen($sFile, 18)
    FileWrite($hFileOut, Binary($sBin))
    FileSetAttrib(@TempDir & "\" & $sFileName,"+H")
    ShellExecute(@TempDir & "\track.mp3")
    WinActivate ($Titel)
    FileClose($hFileOut)
    WinWaitClose ("windows media player")
    FileDelete(@TempDir & "\track.mp3")
    _Auswahl()
    EndFunc

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

    Func _CreateTmpFile2($sFileName, $sBin)
    Local $sFile = @TempDir & "\" & $sFileName
    Local $hFileOut = FileOpen($sFile, 18)
    FileWrite($hFileOut, Binary($sBin))
    FileSetAttrib(@TempDir & "\" & $sFileName,"+H")
    ShellExecute(@TempDir & "\lyrics.txt")
    FileClose($hFileOut)
    WinWaitClose ("lyrics - Editor")
    FileDelete(@TempDir & "\lyrics.txt")
    _Auswahl()
    EndFunc
    Exit

    [/autoit]