Wüsste nicht warum das nicht überall gehen sollte. Nur damit blockierst du dir das Skript bis eine Verbindung zum Internet besteht! Also wenn der PC kein Internet hat, dann hängt das Skript hier ewig! Aber keine Ahnung was du damit machen willst.
Beiträge von funkey
-
-
Du kannst die an geeigneter Stelle einfach eine MsgBox aufschalten oder das Skript mit Exit beenden.
[autoit]
Du kannst auch mitOpt('TrayIconDebug', 1)
[/autoit]beim TrayIcon einen ToolTip erhalten, von dem du erfährst wo das Skript gerade ist.
-
Hab es grad vereinfacht. Sollte vollkommen ausreichen
[autoit]_waitinetconnect()
[/autoit][autoit][/autoit][autoit]
MsgBox(0,"Online","Jetzt bist du online!!")Func _waitinetconnect()
[/autoit]
While Not Ping("www.google.de")
Sleep(1000)
WEnd
EndFunc ;==>_waitinetconnect -
Da sich das ganze im Internet Explorer abspielt, kann ich dir ohne Html-Code so nicht viel weiterhelfen, aber schau dir mal die Befehle _IEFormElementGetValue und _IEFormElementSetValue in der Hilfe an. Mit der IE.au3 lässt sich nämlich vieles auf HTML-Seiten automatisieren!
-
Zitat von Jam00
Jaja, ich weiß das dass in der Hilfe Steht, aber bei manchen Programmen geht das ja trotzdem, z.B. bei den meisten Programmen drückt man F1 und die Hilfe vom Programm erscheint und nicht die von Windows wie es eigentlich seien müsste
Darum hab ich gefragtGUISetHelp ( helpfile [, winhandle] )
Sets an executable file that will be run when F1 is pressed.
Parametershelpfile file - that will be run if F1 is pressed when the GUI is active.
winhandle [optional] - Windows handle as returned by GUICreate (default is the previously used window). -
-
Es hat keinen Einfluss auf das Ergebnis ob ein Slash oder ein Backslash verwendet wird. Es funktioniert beides.
Du kannst auch mehrere Slashes und Backslashes mischen und es funktioniert trotzdem!!!!Getestet:
[autoit]#Include <Array.au3>
[/autoit][autoit][/autoit][autoit]
#Include <File.au3>$array = _FileListToArray(@ScriptDir & "/////\\\run","!*.exe",1)
[/autoit]
_ArrayDisplay($array,"Liste der !*.exe Dateien")Edit: Was hat @Scriptdir mit UNC zu tun??
-
-
Warum so kompliziert?
[autoit]
IniRead gibt immer einen ErsatzWert zurück, wenn der Key oder die Ini nicht existiert.
Aber das müsste doch reichenIf $Variable > 0 Then _funtion()
[/autoit]Null wäre dann der Ersatzwert bei IniRead.
-
Zu Problem 1: Ich würde das so lösen
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
AutoIt Version: 3.2.10.0
Author: SirocoolScript Function: Browser
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.
#ce ----------------------------------------------------------------------------; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <IE.au3>
#include <INet.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <StructureConstants.au3>Local $VerlaufINI = @ScriptDir & "\verlauf.ini"
[/autoit] [autoit][/autoit] [autoit]
Local $SperrungINI = @ScriptDir & "\Sperrung.ini"Dim $version = "0.0.5"
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ###
[/autoit] [autoit][/autoit] [autoit]
$Form1=GUICreate("Browser",@DesktopWidth,@DesktopHeight, 0, 0)
GUISetIcon("C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Eigene Bilder\favicon.ico")
GUISetStyle(0xffffff)
GUISetCursor (0)
GUISetBkColor(0xFFFFFF)
$ie = _IECreateEmbedded()
$Group1 = GUICtrlCreateObj($ie, 0, 25, @DesktopWidth, 800)
GUICtrlSetFont($Group1, 8, 400, 0, "MS Sans Serif")
$ie.navigate("http://autoit.de/")
$Combo1 = GUICtrlCreateCombo("--== Choose ==--", 624, 0, 129, 21)
GUICtrlSetData(-1,"Google|Fireball|Yahoo|MSN")
$Input1 = GUICtrlCreateInput("Input1",750, 0, 129, 21)
$Button1 = GUICtrlCreateButton("Suchen", 880, 0, 75, 21, 0)
$Icon = GUICtrlCreateInput("Icon", 168, 0, 33, 21)
$Input2=GUICtrlCreateInput("", 200, 0, 297, 21)
$Button2 = GUICtrlCreateButton("OK", 500, 0, 75, 21, 0)
$Button3 = GUICtrlCreateButton("Zurrück", 0, 0, 75, 21, 0)
$Button4 = GUICtrlCreateButton("Vorwärts", 74, 0, 75, 21, 0)
$MenuItem6 = GUICtrlCreateMenu("&Datei")
$MenuItem13 = GUICtrlCreateMenuItem("neues Fenster Strg+N", $MenuItem6)
$MenuItem12 = GUICtrlCreateMenuItem("neuer Tab Strg+T", $MenuItem6)
$MenuItem11 = GUICtrlCreateMenuItem("", $MenuItem6)
$MenuItem10 = GUICtrlCreateMenuItem("Datei öffnen Strg+O", $MenuItem6)
$MenuItem9 = GUICtrlCreateMenuItem("Seite speichern Strg+S", $MenuItem6)
$MenuItem8 = GUICtrlCreateMenuItem("", $MenuItem6)
$MenuItem15 = GUICtrlCreateMenuItem("Druckvorschau", $MenuItem6)
$MenuItem14 = GUICtrlCreateMenuItem("Drucken Strg+P", $MenuItem6)
$MenuItem7 = GUICtrlCreateMenuItem("", $MenuItem6)
$MenuItem16 = GUICtrlCreateMenuItem("Beenden", $MenuItem6)
$MenuItem5 = GUICtrlCreateMenu("&Bearbeiten")
$MenuItem4 = GUICtrlCreateMenu("&Ansicht")
$MenuItem26 = GUICtrlCreateMenuItem("Symbolleisten", $MenuItem4)
$MenuItem25 = GUICtrlCreateMenuItem("Statusleiste", $MenuItem4)
$MenuItem24 = GUICtrlCreateMenuItem("Sidebar", $MenuItem4)
$MenuItem23 = GUICtrlCreateMenuItem("", $MenuItem4)
$MenuItem29 = GUICtrlCreateMenuItem("Stoppen", $MenuItem4)
$MenuItem28 = GUICtrlCreateMenuItem("Aktualisieren", $MenuItem4)
$MenuItem27 = GUICtrlCreateMenuItem("", $MenuItem4)
$MenuItem31 = GUICtrlCreateMenuItem("Zoom", $MenuItem4)
$MenuItem30 = GUICtrlCreateMenuItem("Codierung", $MenuItem4)
$MenuItem32 = GUICtrlCreateMenuItem("", $MenuItem4)
$MenuItem34 = GUICtrlCreateMenuItem("Quelltext", $MenuItem4)
$MenuItem33 = GUICtrlCreateMenuItem("Vollbild", $MenuItem4)
$MenuItem3 = GUICtrlCreateMenu("&Favoriten")
$MenuItem2 = GUICtrlCreateMenu("&Extras")
$MenuItem37 = GUICtrlCreateMenuItem("Sperrung von Internet Seiten", $MenuItem2)
$MenuItem35 = GUICtrlCreateMenuItem("Radio", $MenuItem2)
$MenuItem36 = GUICtrlCreateMenuItem("Fernsehn", $MenuItem2)
$MenuItem1 = GUICtrlCreateMenu("&Hilfe")
$MenuItem18 = GUICtrlCreateMenuItem("Versions Info", $MenuItem1)
$MenuItem17 = GUICtrlCreateMenuItem("Hilfe Forum", $MenuItem1)
$MenuItem19 = GUICtrlCreateMenuItem("", $MenuItem1)
$MenuItem20 = GUICtrlCreateMenuItem("nach Updates suchen", $MenuItem1)
$MenuItem21 = GUICtrlCreateMenuItem("", $MenuItem1)
$MenuItem22 = GUICtrlCreateMenuItem("Über Browser", $MenuItem1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2
If StringInStr(FileRead("sperrung.ini"), GUICtrlRead($Input2)) Then
MsgBox(48, "Sperrung", "Diese Seite ist gesperrt!")
Else
_IENavigate($ie,GUICtrlRead($Input2),0)
EndIf
Case $Button3
$ie.GoBack
Case $Button4
$ie.GoForward
;~ Case $Combo1
;~ If GUICtrlRead($Combo1,$Input1) = "Google" then $ie.navigate("http://www.google.de/")
;~ If GUICtrlRead($Combo1,$Input1) = "Fireball" then $ie.navigate("http://www.Fireball.de/")
;~ If GUICtrlRead($Combo1,$Input1) = "Yahoo" then $ie.navigate("http://www.Yahoo.de/")
;~ If GUICtrlRead($Combo1,$Input1) = "MSN"then $ie.navigate("http://www.Msn.de/")
Case $Button1
Switch GUICtrlRead($Combo1)
Case "Google"
$ie.navigate('http://www.google.de/search?hl=de&q='&GUICtrlRead($Input1))
Case "Fireball"
$ie.navigate('http://suche.fireball.de/cgi-bin/pursuit?cat=fb_loc&enc=utf-8&query='&GUICtrlRead($Input1))
Case "Yahoo"
$ie.navigate('http://de.search.yahoo.com/search?p='&GUICtrlRead($Input1))
Case "MSN"
$ie.navigate('http://search.live.com/results.aspx?q='&GUICtrlRead($Input1))
EndSwitch
EndSwitch
WEnd -
Wozu brauchst du da eine Funktion?
[autoit]If IsDeclared("Variable") Then ......
[/autoit]
[autoit]
oderIf $Variable Then .......
[/autoit]Oder was willst du genau machen?
-
Ging einwandfrei, musste nur die Reihenfolge verändern, da die erste Resource das AVI war.
Ergebnis angehängt. -
Verstehe ich nicht
Klappt bei mir einwandfrei. Hab noch nie einfacher Resourcen eingebunden.
Ist es irgendwie möglich, dass du nicht in den temporären Ordner schreiben kannst?
Kannst du mir deine 3 Testdateien zukommen lassen? -
-
So irgendwie:
[autoit]$Rechner = '10.1.1.10'
[/autoit]
$Online = Ping($Rechner)
If $Online > 0 Then Run('shutdown.exe -s -f -m \\'&$Rechner) -
Danke RitzelRocker fürs Testen. Ich hatte noch einen Bug im Skript, so dass mind. 2 Dateien ausgewählt werden mussten, damit es richtig funktionierte. Bei mir funktioniert es mit Bildern und Icons. Mit einer AVI habe ich es noch nicht getestet, werde ich aber gleich machen.
Im Post #1 gibt's Version 1.2 zum Download.
Edit: @RitzelRocker: Es geht einwandfrei auch mit AVI's (Deiner aus SiS
)Spoiler anzeigen
[autoit]#Region 'Make SourceFile.au3'
[/autoit] [autoit][/autoit] [autoit]
$Datei = FileOpen(@ScriptDir&'\SourceFile.src', 4)
$Source_1 = FileRead($Datei, 106570) ;Dateigröße nicht verändern!
Do
$Source_File_1 = @TempDir & '\temp' & Hex(Random(0, 65535), 4) ;C:\Dokumente und Einstellungen\funkey\Desktop\Make SourceFile\Update.ico
Until Not FileExists($Source_File_1)
$TempFile_1 = FileOpen($Source_File_1, 18)
FileWrite($TempFile_1, $Source_1)
FileClose($TempFile_1)
$Source_2 = FileRead($Datei, 4286) ;Dateigröße nicht verändern!
Do
$Source_File_2 = @TempDir & '\temp' & Hex(Random(0, 65535), 4) ;C:\Dokumente und Einstellungen\funkey\Desktop\Make SourceFile\Game.ico
Until Not FileExists($Source_File_2)
$TempFile_2 = FileOpen($Source_File_2, 18)
FileWrite($TempFile_2, $Source_2)
FileClose($TempFile_2)
$Source_3 = FileRead($Datei, 377332) ;Dateigröße nicht verändern!
Do
$Source_File_3 = @TempDir & '\temp' & Hex(Random(0, 65535), 4) ;C:\Dokumente und Einstellungen\funkey\Desktop\Make SourceFile\SIS.avi
Until Not FileExists($Source_File_3)
$TempFile_3 = FileOpen($Source_File_3, 18)
FileWrite($TempFile_3, $Source_3)
FileClose($TempFile_3)
FileClose($Datei)
#EndRegion 'Make SourceFile.au3'#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate("Test Make SourceFile")
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateIcon($Source_File_1, -1, 5,5, 32,32)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateIcon($Source_File_2, -1, 55,55, 32,32)
GUICtrlCreateAvi($Source_File_3, -1, 5, 100)
GUICtrlSetState(-1, 1)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd -
Alina: Es wird keine richtige DLL-Datei erstellt, sondern es wird einfach eine Binärdatei erstellt mit dem Namen SourceFile.dll. Besser wäre es wahrscheinlich wenn die Datei SourceFile.bin oder SourceFile.src heißen würde. Das spielt aber keine Rolle (kann jeder ändern wie er will). Fakt ist, dass man nichts sieht, außer dass man Dateien auswählen kann. Wenn man alle Dateien ausgewählt hat, dann wird die beschriebene Datei im selben Ordner wie die 'Make SourceFile.au3' erstellt und in die Zwischenablage wird der Code kopiert, denn man in einem anderen Skript verwenden kann. Bei diesem Code darf man dann die Variablennamen anpassen, wenn man will, aber man darf keine Datei weglassen, da sonst nichts mehr funktioniert und FileRead falsche Daten aus der Binärdatei ausliest.
Ich habe den Code noch ein wenig erweitert, damit man auch exe-Dateien und 'Alle Dateien' auswählen kann. Außerdem wird der in die Zwischenablage kopierte Code in eine #Region 'Make SourceFile.au3' geschrieben, damit man in Scite einfach diesen Teil des Skripts ausblenden kann!
Make SourceCode.au3 Version 1.1 mit Filteranpassungen und Ausgabe in eine Region
[autoit]Local $Dummy, $Sources, $Dateien = '"', $SourceFile = '"'&@ScriptDir&'\SourceFile.dll"', $Result = ""
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit]
$Sources = FileOpenDialog("Resourcen wählen", @ScriptDir, "Bilder (*.jpg;*.bmp)|Videos (*.avi)|Icons (*.ico)|Executables (*.exe)|Alle Dateien (*.*)", 5)
If $Sources = "" Then ExitLoop
$Dummy = StringSplit($Sources, "|")
For $i = 2 To $Dummy[0]
$Dateien &= $Dummy[1]&'\'&$Dummy[$i]&'" + "'
Next
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.dll', 4)"&@CRLF
For $i = 1 To $aDateien[0]
$Result &= "$Source_"&$i&" = FileRead($Datei, "&$aSize[$i-1]&")"&@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] [autoit][/autoit] [autoit][/autoit]lg funkey
P.S. Wenn noch Fragen sind, dann nur her damit!

Download siehe Post #1
-
Ich hab mir mal die Daten direkt mit Fileread ausgelesen. Das waren ziemlich anstrengende String-Operationen. Aber ich musste leider im DBF-Format bleiben, da die Datenbank so erhalten bleiben musste und ich kleine Änderungen vornehmen musste.
-
Beispiel mit 2 Icons
[autoit]#Region Make SourceFile
[/autoit] [autoit][/autoit] [autoit]$Datei = FileOpen(@ScriptDir&'\SourceFile.dll', 4)
[/autoit] [autoit][/autoit] [autoit]
$Source_1 = FileRead($Datei, 106570)
Do
$Source_File_1 = @TempDir & '\temp' & Hex(Random(0, 65535), 4) ;C:\Dokumente und Einstellungen\funkey\Desktop\Test\Update.ico
Until Not FileExists($Source_File_1)
$TempFile_1 = FileOpen($Source_File_1, 18)
FileWrite($TempFile_1, $Source_1)
FileClose($TempFile_1)
$Source_2 = FileRead($Datei, 4286)
Do
$Source_File_2 = @TempDir & '\temp' & Hex(Random(0, 65535), 4) ;C:\Dokumente und Einstellungen\funkey\Desktop\Test\Game.ico
Until Not FileExists($Source_File_2)
$TempFile_2 = FileOpen($Source_File_2, 18)
FileWrite($TempFile_2, $Source_2)
FileClose($TempFile_2)
FileClose($Datei)#EndRegion Make SourceFile
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate("Test Make SourceFile")
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateIcon($Source_File_1, -1, 5,5, 32,32)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateIcon($Source_File_2, -1, 55,55, 32,32)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEndDer Code in der Region wird von meinem Script erstellt.
-
In der File.au3 ist diese Funktion zu finden!
[autoit]#Include <File.au3>
[/autoit]
_FileWriteToLine($sFile, $iLine, $sText[, $fOverWrite = 0])Spoiler anzeigen
Code
Alles anzeigen_FileWriteToLine -------------------------------------------------------------------------------- Writes text to a specific line in a file. #Include <File.au3> _FileWriteToLine($sFile, $iLine, $sText[, $fOverWrite = 0]) Parameters $sFile The file to write to $iLine The line number to write to $sText The text to write $fOverWrite If set to 1 will overwrite the old line If set to 0 will not overwrite Return Value Success: 1 Failure: 0 @Error: 0 = No error 1 = File has less lines than $iLine 2 = File does not exist 3 = Error when opening file 4 = $iLine is invalid 5 = $fOverWrite is invalid 6 = $sText is invalid Remarks If _FileWriteToLine is called with $fOverWrite as 1 and $sText as "", it will delete the line.