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.
Daten mit in *.exe reinpacken (z.B. bilder, ...)
-
m3hm3t -
12. Oktober 2007 um 12:39 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hi,
Spoiler anzeigen
[autoit]#AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\au3.ico
[/autoit] [autoit][/autoit] [autoit]
#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#include <GUIConstants.au3>
[/autoit]
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()So long,
Mega
-
Schuldigung das ich noch mal nachfrage aber was dieser srcipt jetzt genau mit den icons.
-
- Offizieller Beitrag
Hi,
probier es doch aus.
Oder guck dir den Befehl FileInstall aus der Hilfe an.
So long,
Mega
-
Ok danke.
Wenn noch was sein sollte, frage ich nochmal. -
- Offizieller Beitrag
Hi,
genau dafür ist dieses Forum da.
So long,
Mega
-
Ja, eben.
Ach, das problem ist gelöst, ich habe es mit FileInstall hinbekommen. :]
Danke, nochmal Viel Mals.
-
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.
-
Ihr habe ich ein Beispiel geschrieben.
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate("Test", 300, 200)
[/autoit] [autoit][/autoit] [autoit]
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.GUISetState(@SW_SHOW)
[/autoit] -
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>
[/autoit] [autoit][/autoit] [autoit]
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")SoundSetWaveVolume(50) ; Lautstärke auf 50%
[/autoit] [autoit][/autoit] [autoit]
SoundPlay("C:\tteesstt\alarm.wav", 1) ; Datei die abgespielt werden sollGUISetState(@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.
-
Achso, ok danke für deine antwort, jetzt weiß ich es. :]
-
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 hilftNur 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.
-
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 -
- Offizieller Beitrag
ZitatUnd 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.zipInhalt:
test.au3
test.exeVorgehensweise:
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>
[/autoit] [autoit][/autoit] [autoit]
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")SoundSetWaveVolume(100)
[/autoit] [autoit][/autoit] [autoit]
SoundPlay("C:\tteesstt\alarm.wav", 1) ; Datei die abgespielt werden sollGUISetState(@SW_SHOW)
[/autoit]Gruss, Lina.
-
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
ZitatFileInstall:
Bindet eine Datei in das kompilierte Skript ein und installiert sie.
...
...
...
BemerkungenDie Funktion FileInstall ist dazu gedacht, Dateien in kompilierte AutoIt-Skripte einzubinden.
Diese eingebundenen Dateien werden dann während der Ausführung des kompilierten Skriptes "entpackt". Behalte im Hinterkopf, dass diese Dateien wie z.B. Bilder das kompilierte Skript stark vergrößern können!
Die Quelldatei muss ein reiner String sein, darf also keine Variable sein. Das dient dazu, dass der Kompiler weiß, welche Datei er einbinden soll. Die source darf auch keine Wildcards enthalten.
Also wird man ihr auch glauben können ;P ....LG Lenny
-
Das klappt einfach nicht.
Weiß da keiner weiter?
-
- Offizieller Beitrag
Dann zeig doch mal die Codezeile, die nicht funktioniert.
-
[autoit]
#include <GUIConstants.au3>
[/autoit][autoit][/autoit][autoit]$main = GUICreate("FileInstall", 175, 200)
[/autoit][autoit][/autoit][autoit]
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)$main2 = GUICreate("Datei", 256, 256)
[/autoit][autoit][/autoit][autoit]
$button2 = GUICtrlCreateButton("Schließen", 90, 230, 80, 20)While 1
[/autoit]
$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 -