Ist ja schon wieder ein paar Tage her
. Nochmals danke auch allen Gratulanten, die mir nachträglich noch alles Gute wünschten!
Beiträge von funkey
-
-
Das Ganze wird doch wohl noch in einer Form stehen?? Dann einfach _IEFormSubmit
-
Aber hier hat man nur eine Datei in der alle Dateien enthalten sind. Diese kann man gegebenenfalls dann noch mit FileInstall ins kompilierte Skript implementieren.
Aber dein Argument könnte man auch bei richtigen DLL's, die nur Bilder und Videos enthalten, verwenden

-
Aktuelle Version von Autoit hast du installiert??
Version 3.2.12.1 -
Man kann den Filter von FileOpenDialog natürlich auch für exe-Dateien, au3-Dateien und alles was irgendwie nützlich ist erweitern.
Das Skript liefert mehr oder weniger schon ein Beispiel mit dem Code der in die Zwischenablage geschrieben wird.
[autoit]Code vom Skript erzeugt
[/autoit][autoit][/autoit][autoit]GUICtrlCreateAvi($Source_File_1, ...........)
[/autoit]
GUICtrlCreatePic($Source_File_2, ...........)
Run($Source_File_3)Der Vorteil dieser Methode zu dem eine richtige DLL zu verwenden ist, wie Alina schon bemerkt hat, dass man beliebige Dateitypen in einer Datei unterbringen kann. So in der Art wie ein unkomprimiertes Archiv.
RR04: Ich kenne deine Projekte

-
Spoiler anzeigen
[autoit]#Include <GuiComboBoxEx.au3>
[/autoit] [autoit][/autoit] [autoit]Run('rundll32.exe shell32.dll,Control_RunDLLAsUser '&@SystemDir& '\mmsys.cpl','',@SW_HIDE)
[/autoit] [autoit][/autoit] [autoit]
WinWait('Eigenschaften von Sounds und Audiogeräte')
ControlCommand('Eigenschaften von Sounds und Audiogeräte','','SysTabControl321',"TabRight", "")
ControlCommand('Eigenschaften von Sounds und Audiogeräte','','SysTabControl321',"TabRight", "")
Sleep(200)
ControlClick('Eigenschaften von Sounds und Audiogeräte','','Button3')
WinWait('Erweiterte Audioeigenschaften')ControlCommand('Erweiterte Audioeigenschaften','','ComboBox1',"SetCurrentSelection", 4)
[/autoit] -
Mit folgendem Code können beliebig viele Dateien in eine einzige Datei zusammenkopiert werden. Das Skript erstellt außerdem den Code um die einzelnen Dateien im Bedarfsfall wieder in einzelne Dateien aufzusplitten. Dieser Code wird in die Zwischenablage kopiert und kann so in einem anderen Skript eingefügt werden. Die neu erstellte Datei SourceFile.dll sollte auch in das Verzeichnis des anderen Skriptes kopiert werden.
Ich hoffe, dass meine Erklärung zu dem Skript verständlich ist und dass jemand dafür Verwendung findet. Ich brauche nun nicht mehr mit dem Resource-Hacker eine richtige dll-Datei zu erstellen, in denen meine Bilder, Avi's gespeichert sind, sondern nur noch dieses Skript.
Meldet euch bei Problemen oder Fragen, aber auch bei Kritik (hoffentlich positiv)
Make SourceFile.au3
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.2.12.1
[/autoit] [autoit][/autoit] [autoit]
Author: funkey
Release Date: 10. Dec. 2008
Version: 1.2
Script Function:
Dieses Skript packt alle ausgewählten Resourcen in die Datei 'SourceFile.src'.
Es wird der zum Zerlegen der Datei benötigte Code automatisch generiert und
in der Zwischenablage gespeichert.
Dieser Code wird dann in das Skript eingefügt, in dem die Resourcen benötigt
werden. Die Dateien können dann wie im folgenden Beispiel verwendet werden.
Bsp.: GUICtrlCreateIcon($Source_File_1, -1, 5,5, 32,32)
GUICtrlCreateIcon($Source_File_2, -1, 55,55, 32,32)
GUICtrlCreateAvi(Source_File_3, -1, 100, 5, 50, 50)
GUICtrlCreatePic(Source_File_4, 5, 200)
Die zur Laufzeit des Skriptes entstehenden Dateien werden im temporären Ordner
erstellt und sollten beim Beenden des Skriptes wieder gelöscht werden.
Bsp.: FileDelete($Source_File_1)
FileDelete($Source_File_2)
FileDelete($Source_File_3)
FileDelete($Source_File_4)#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Local $Dummy, $Sources, $Dateien = '"', $SourceFile = '"'&@ScriptDir&'\SourceFile.src"', $Result = ""
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit]
$Sources = FileOpenDialog("Resourcen wählen", @ScriptDir, "Alle Dateien (*.*)|Bilder (*.jpg;*.bmp)|Videos (*.avi)|Icons (*.ico)|Executables (*.exe)|DLL's (*.dll)", 5)
If $Sources = "" Then ExitLoop
If StringInStr($Sources, "|") = 0 Then
$Dateien &= $Sources&'" + "'
Else
$Dummy = StringSplit($Sources, "|")
For $i = 2 To $Dummy[0]
$Dateien &= $Dummy[1]&'\'&$Dummy[$i]&'" + "'
Next
EndIf
Until MsgBox(36, "Weitere Dateien hinzufügen", "Willst du noch weitere Dateien zur Source-Datei hinzufügen?") = 7$Dateien = StringTrimRight($Dateien, 4)
[/autoit] [autoit][/autoit] [autoit]
$aDateien = StringSplit(StringTrimRight(StringTrimLeft($Dateien,1),1), '" + "', 1)$SourceFile = Run(@ComSpec & " /c " & 'copy /b '&$Dateien&" "&$SourceFile, "", @SW_HIDE)
[/autoit] [autoit][/autoit] [autoit]Local $aSize[$aDateien[0]]
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $aDateien[0]
$aSize[$i-1] = FileGetSize($aDateien[$i])
Next$Result = "#Region 'Make SourceFile.au3'"&@CRLF
[/autoit] [autoit][/autoit] [autoit]
$Result &= "$Datei = FileOpen(@ScriptDir&'\SourceFile.src', 4)"&@CRLF
For $i = 1 To $aDateien[0]
$Result &= "$Source_"&$i&" = FileRead($Datei, "&$aSize[$i-1]&") ;Dateigröße nicht verändern!"&@CRLF
$Result &= "Do"&@CRLF
$Result &= " $Source_File_"&$i&" = @TempDir & '\temp' & Hex(Random(0, 65535), 4) ;"&$aDateien[$i]&@CRLF
$Result &= "Until Not FileExists($Source_File_"&$i&")"&@CRLF
$Result &= "$TempFile_"&$i&" = FileOpen($Source_File_"&$i&", 18)"&@CRLF
$Result &= "FileWrite($TempFile_"&$i&", $Source_"&$i&")"&@CRLF
$Result &= "FileClose($TempFile_"&$i&")"&@CRLF
Next
$Result &= "FileClose($Datei)"&@CRLF
$Result &= "#EndRegion 'Make SourceFile.au3'"ClipPut($Result)
[/autoit]Edit: Version 1.2 : Bug ausgemerzt. Es mussten immer mehr als eine Datei ausgewählt werden.
Kommentar hinzugefügt, Filter nochmals erweitert. -
Achso
[autoit]WinFlash
[/autoit] -
Ich denke am besten mit TraySetIcon und Adlibenable.
-
Code sieht gut aus, dann liegt es an der dll.
Wenn du aber nur eine AVI in der Dll hast, dann kannst du die AVI doch direkt nehmen. Und wenn du nicht willst, dass ein Leihe dieses Video abspielt, dann benenne es einfach um in z.B. Video.dll. -
-
Hab ich doch schon geschrieben.
Auszug aus 'SiS'
[autoit]Global $SiSmedia = @ScriptDir & "\SiSsys\sis_rc.dll" ;! Path & Name zur Ressource-DLL - erstellt mit ResHacker
[/autoit]
Global $avi = GUICtrlCreateAvi($SiSmedia, 150, 10, 10, 163, 150)Ich habe bemerkt, dass du noch nie einen von dir geöffneten Thread als gelöst markiert hast! Könntset du das bitte einmal nachholen (Immer ersten Beitrag editieren und dann auf gelöst umstellen).
-
Mit
[autoit]GUICtrlSetImage
[/autoit]
GUICtrlCreateIcon
GUICtrlCreateAviBeispiel: 'Sicher ist Sicher' von Ritzelrocker04
-
Probiers mal so:
[autoit]#include <IE.au3>
[/autoit]
$oIE = _IECreate ("file://"&@ScriptDir&"\Test.htm")
$oImg = _IEImgGetCollection($oIE)
For $element In $oImg
_IECreate($element.src)
Next -
???
Erst ein Doppelklick auf die entsprechende Zeile im Window Info Tool kopiert den Eintrag in die Zwischenablage. -
Du kannst der Funktion bei GUICtrlSetOnEvent keine Parameter mitgeben. Du musst das Skript umbauen.
[autoit]
Es geht nurGUICtrlSetOnEvent(-1, "_feld")
[/autoit] -
Hab gerade das Passwort zu meinem Wettbewerbs-Programm bekanntgegeben damit alle was davon haben
. Viel Spaß mit Deal or no Deal.Allen einen schönen Advent!
-
Laut meinen Tests funktionieren die Control-Befehle nicht mit versteckten Fenstern.
Deswegen am besten einfach die Installationsfenster aus dem Bildschirmbereich schieben (WinMove)
Hier ein Beispiel mit der Autoit-Installation. Ist zwar nicht richtig silent, aber besser als nichts.Spoiler anzeigen
[autoit]Opt('WinWaitDelay', 0)
[/autoit] [autoit][/autoit] [autoit]$title = 'AutoIt v3.2.12.1 Setup'
[/autoit] [autoit][/autoit] [autoit]Run('autoit-v3.2.12.1-setup.exe', '');, @SW_HIDE)
[/autoit]
WinWait($title, 'Welcome to the AutoIt v3.2.12.1 Setup Wizard')
$pos = WinGetPos($title)
WinMove($title, '', -@DesktopWidth, $pos[1])
ControlClick($title, '', 'Button2')
WinWait($title, 'License Agreement')
ControlClick($title, '', 'Button2')
WinMove($title, '', $pos[0], $pos[1]) -
Du suchst vllt FileSetAttrib
-
Funktionen für Numlock Scrolllock und Caps
[autoit]Global Const $VK_NUMLOCK = 0x90
[/autoit] [autoit][/autoit] [autoit]
Global Const $VK_SCROLL = 0x91
Global Const $VK_CAPITAL = 0x14ConsoleWrite(_GetNumLock() & @LF)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(_GetScrollLock() & @LF)
ConsoleWrite(_GetCaps() & @LF)Func _GetNumLock()
[/autoit] [autoit][/autoit] [autoit]
Local $ret
$ret = DllCall("user32.dll","long","GetKeyState","long",$VK_NUMLOCK)
Return $ret[0]
EndFuncFunc _GetScrollLock()
[/autoit] [autoit][/autoit] [autoit]
Local $ret
$ret = DllCall("user32.dll","long","GetKeyState","long",$VK_SCROLL)
Return $ret[0]
EndFuncFunc _GetCaps()
[/autoit]
Local $ret
$ret = DllCall("user32.dll","long","GetKeyState","long",$VK_CAPITAL)
Return $ret[0]
EndFunc