Der mit Vista hat die selbe Fehlermeldung?
Das kann ich leider nicht genau sagen, hat bis jetzt nicht geantwortet...
Der mit Vista hat die selbe Fehlermeldung?
Das kann ich leider nicht genau sagen, hat bis jetzt nicht geantwortet...
Achso ok. Das hatte ich bei Suse auch mal.
Woher weiß denn Windows von der IE.au3 in der Fehlermeldung??? Oder ist es eine Fehlermeldung aus der IE.au3?
Fehlermeldung kommt aus der IE.au3, hab nachgeschaut: Func _IEErrorHandlerRegister ab Zeile 3112.
Schlafenszeit, Nacht war lang und feucht
Bis später
Ääääh seit wann laufen Windows Exen auf Ubuntu??
Schon mal was von "Wine" gehört??? Nein? Dann informier Dich mal... Hier mal ne knappe Info darüber:
Wine (Wine Is Not an Emulator) ist ein Programm, mit dem man Windowssoftware unter Linux laufen lassen kann. Man benötigt keine Windows-Installation auf seinem Computer, um mit Wine Programme starten zu können, die für Windows programmiert wurden.
Guten Morgen Leute...
Hab da ein Problem, und hoffe auf eine Lösung durch Eure Hilfe.
Habe ein kleines Programm geschrieben, in dem ich den InternetExplorer mit _IECreateEmbedded
aus der IE.au3 UDF eingebunden habe. Genau genommen, habe ich die Funktion so ziemlich
1zu1 aus der Hilfe übernommen, also:
#include<IE.au3>
_IEErrorHandlerRegister()
$oIE=_IECreateEmbedded()
dann in der erstellten Gui:
GUICtrlCreateObj ($oIE, 10, 40, 600, 360)
und dann wird über einen Button mit
_IENavigate($oIE,"http://irgendeine Seite.de")
die entsprechende Seite aufgerufen...
Klappt eigentlich auch wunderbar, nur haben sich jetzt Ubuntu-Benutzer gemeldet (und ein Vista-User),
wo das Programm nicht startet und nur eine Fehlermeldung raushaut. ein Ubuntu-User hat mir geschrieben,
das in seinem Winconsolen-Log folgendes zu lesen ist:
IE.au3 V2.4-0 Error from function _IEPropertySet,
&_IEStatus_GeneralError (Error Handler Not Registered - Check
existance of error function)
Wer weiß Rat bzw. kann es unter Ubuntu und Vista testen, ich habe nur Win-7 32bit, und da läuft alles tadellos:-/
Ich nutze die AutoIt-Version 3.3.8.1
Guten morgen ![]()
Evtl.wurde das ja schon mal gefragt, hab aber trotz SuFu nichts gefunden.
Und zwar geht es um folgendes:
War grad dabei ein paar Dateien zu entpacken, und wie schon öfter hab ich
mich gefragt, ob es mit AutoIt möglich wäre, so eine Fortschrittsanzeige im
Taskleisten-Icon irgendwie zu realisieren. Mir fehlt der Ansatz dazu, aber
vielleicht weiß jemand von Euch mehr?
Hab mal ein Bild zur Veranschaulichung beigefügt.
Lg Diggidie
Hab folgendes hier mal im forum gefunden gehabt.
Vielleicht hilft Dir das ja erstmal.
Mußt nur $fpath & $SucheDatei angeben.
Bekommst als Ergebnis eine Suchergebnis.txt Datei.
#Include <File.au3>
Global $Files, $SucheDatei
_Suche_Datei ()
Func _Suche_Datei ()
$fpath = "c:\"
$SucheDatei = "\*.exe"
If Not @error Then
If StringRight($fpath, 1) <> '\' Then $fpath &= '\'
_FileListToString($fpath)
Global $aFileList = StringSplit($Files, '|'); Array $aFileList enthält Auflistung aller Unterverzeichnisse
_FileWriteFromArray(@ScriptDir & "\Suchergebnis.txt", $aFilelist, 1)
$TXT_Lesen = @ScriptDir & "\Suchergebnis.txt"
$Files = ""
EndIf
ShellExecute("Suchergebnis.txt", "", @ScriptDir)
EndFunc
[/autoit] [autoit][/autoit] [autoit]Func _FileListToString($path)
Local $hSearch, $sFile
$hSearch = FileFindFirstFile($path & $SucheDatei)
If $hSearch <> -1 Then
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then
SetError(0)
ExitLoop
EndIf
If StringInStr(FileGetAttrib($path & $sFile), "D") <> 0 Then ContinueLoop
$Files &= $path & $sFile & '|'
WEnd
FileClose($hSearch)
EndIf
_ReFileListToString($path)
$Files = StringTrimRight($Files, 1)
EndFunc
Func _ReFileListToString($path); Diese Funktion nicht direkt aufrufen. Wird nur von _FileListToString benutzt.
Local $dFileList = _FileListToArray($path, '*', 2)
If IsArray($dFileList) Then
For $i = 1 To $dFileList[0]
Local $hSearch, $sFile
$hSearch = FileFindFirstFile($path & $dFileList[$i] & $SucheDatei)
If $hSearch <> -1 Then
While 1
$sFile = FileFindNextFile($hSearch)
If @error Then
SetError(0)
ExitLoop
EndIf
If StringInStr(FileGetAttrib($path & $dFileList[$i] & "\" & $sFile), "D") <> 0 Then ContinueLoop
$Files &= $path & $dFileList[$i] & "\" & $sFile & '|'
WEnd
FileClose($hSearch)
EndIf
_ReFileListToString($path & $dFileList[$i] & '\')
Next
EndIf
EndFunc
Sorry, hatte vergessen zu erwähnen, das ich Windows 7 32bit nutze.
Andere Systeme ungetestet.
Da funktioniert es bei mir.
Da leider keine besseren Vorschläge kommen, setze ich das Thema
mal auf gelöst (Funktionieren tut das Script ja auch in dieser Lösung)
Danke trotzdem
Diggidie
Vielleicht könnte es ja helfen, eventuell verweiste Elemente aus der
Taskleiste zu entfernen (unter Ausgeblendete Symbole einblenden / Anpassen) !?
Da sammelt sich ja mit der Zeit so einiges an, was sich nicht von selbst löscht!!!
Klappt unter Windows 7 (Vista und XP kann ich nicht sagen)
Hier mal als Script: (Regs löschen, Prozess explorer.exe schließen und dann ab und neu anmelden)
[autoit]RegDelete ("HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify", "IconStreams")
RegDelete ("HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify", "PastIconsStream")
ProcessClose ("explorer.exe")
Shutdown (0)
@Matthias_199
das wäre natürlich klasse, wenn du dir das nochmal anschaust.
wie gesagt, funktionieren tut es ja (danke nochmal für dein script)
glaube halt, das man das auflösen des prozentwertes besser lösen könnte.
@Matthias_199
habs mal mit deinem script probiert und ein wenig experimentiert.
learning by doing bringt halt auch mal positive ergebnisse.
und siehe da, es funktioniert auch mit mehreren datein im archiv.
hier mal die Daten für meinen Test:
UnRAR.exe in der neuesten Version 4.0
Test-Archiv mit 200 Dateien (größe zwischen 15kb und 40kb)
Script, UnRAR.exe und eine Test.rar in ein Verzeichnis packen.
Entpackt wird nach @ScriptDir & "\UnRAR-Test\"
Vielleicht gehts ja noch einfacher (evtl bezüglich der strings?).
dann bitte posten.
#include <Constants.au3>
#include <GUIConstantsEx.au3>
Opt ("GUIOnEventMode", 1)
$UnRAR_Pfad = @ScriptDir & "\UnRAR.exe"
$Archiv_Name = @ScriptDir & "\Test.rar"
$Gui = GUICreate ("UnRAR Progressbar", 500, 140)
GUISetOnEvent ($GUI_EVENT_CLOSE, "_Exit")
$Progressbar = GUICtrlCreateProgress (20, 20, 460, 50)
$StartButton = GUICtrlCreateButton("Starte entpacken...", 175, 90, 150, 30)
GUICtrlSetOnEvent (-1, "_StartButton")
GUISetState ()
While 1
Sleep (10)
WEnd
Func _StartButton ()
$UnRAR = Run ($UnRAR_Pfad & ' x -o+ "' & $Archiv_Name & '" ' & @ScriptDir & "\UnRAR-Test\", "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
While $UnRAR > 0
$Lese_StdoutRead_Ausgabe = StdoutRead ($UnRAR, False, False)
If @error Then ExitLoop
$Lese_Letzte_3_Zeichen = StringRight ($Lese_StdoutRead_Ausgabe, 3) ; kürzt den String auf die letzten 3 Zeichen (ist eine % Zahl oder OK)
$Lese_Erste_2_Zeichen = StringLeft ($Lese_Letzte_3_Zeichen, 2) ; kürzt das % Zeichen weg
$Entferne_Leerzeichen = StringStripWS ($Lese_Erste_2_Zeichen,
; entfernt Leerzeichen bei einstelligen Zahlen
If StringIsDigit ($Entferne_Leerzeichen) Then GUICtrlSetData ($Progressbar, $Entferne_Leerzeichen) ; wenn nur eine Zahl übrig bleibt wird die Prozessbar aktualisiert
WEnd
GUICtrlSetData ($Progressbar, 100) ; der Optik halber, weil UnRAR scheinbar keine 100% ausgibt
EndFunc
Func _Exit()
Exit
EndFunc
autoBert
Habe StdoutRead noch nie irgendwie benötigt.
habe mal ein wenig probiert, doch für mich kommen da
nur böhmische dörfer raus
(anfänger halt
, sorry)
das einzige was mir bei der ausgabe entgegenkam, ist, das
am ende der ausgabe immer eine prozentzahl oder ein "ok" rauskam.
den konnte ich dann verarbeiten, wie man an meinem script sehen
kann. das script ist mit sicherheit besser und einfacher zu schreiben,
wäre für kritik und verbesserungsvorschläge sehr dankbar ![]()
@Matthias_199
mein script funktioniert einwandfrei, wenn in dem archiv nur eine
datei gepackt ist (was für mein programm immer so vorgesehen ist).
funktioniert aber nicht mit mehreren dateien
.
aber hier können doch mit sicherheit die profis hilfe leisen
Würde mich auch sehr interessieren.
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
Global $Lese_UnRAR_Ausgabe
$UnRAR_Pfad = @ScriptDir & "\UnRAR.exe"
$Archiv_Name = @ScriptDir & "\Test.rar"
$Gui = GUICreate("UnRAR Progressbar", 500, 140)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$Progressbar = GUICtrlCreateProgress (20, 20, 460, 50)
$StartButton = GUICtrlCreateButton("Starte entpacken...", 175, 90, 150, 30)
GUICtrlSetOnEvent (-1, "_StartButton")
GUISetState()
While 1
Sleep (10)
WEnd
Func _StartButton ()
$Lese_UnRAR_Ausgabe = Run ($UnRAR_Pfad & ' x -o+ "' & $Archiv_Name & '" ' & @ScriptDir & "\UnRAR-Test\", "", @SW_HIDE, 2)
AdlibRegister ("_Progressbar")
ProcessWaitClose ("UnRAR.exe")
GUICtrlSetData ($Progressbar, 100) ; der Optik halber, weil UnRAR scheinbar keine 100% ausgibt
AdlibUnRegister ("_Progressbar")
EndFunc
Func _Progressbar ()
$Lese_StdoutRead_Ausgabe = StdoutRead ($Lese_UnRAR_Ausgabe)
$Lese_Letzte_3_Zeichen = StringRight ($Lese_StdoutRead_Ausgabe, 3) ; kürzt den String auf die letzten 3 Zeichen (ist eine % Zahl oder OK)
$Lese_Erste_2_Zeichen = StringLeft ($Lese_Letzte_3_Zeichen, 2) ; kürzt das % Zeichen weg
$Entferne_Leerzeichen = StringStripWS ($Lese_Erste_2_Zeichen,
; entfernt Leerzeichen bei einstelligen Zahlen
If StringIsDigit ($Entferne_Leerzeichen) Then GUICtrlSetData ($Progressbar, $Entferne_Leerzeichen) ; wenn nur eine Zahl übrig bleibt wird die Prozessbar aktualisiert
EndFunc
Func _Exit()
Exit
EndFunc
hmmm....... irgendwie läßt sich der link nicht richtig öffnen. "An Error Occurred"
werd mal suchen gehen.
hallo leute, bräuchte mal wieder eure hilfe:-)
wenn ich mit dem commandline-tool unrar.exe (freeware) dateien entpacke, zeigt mir das tool ja auch
an, wieviel prozent das tool schon entpackt hat.
meine frage ist nun, ob ich den jeweils aktuellen prozentwert irgendwie "auslesen" kann, um den wert
z.b. in einer progressbar zu verwenden.
geht das irgendwie? oder ist es eventuell mit der .dll version von unrar möglich.
danke schon mal für eure antworten.
lg diggidie
Hatte beim schreiben ein ) versehentlich nicht gelöscht, deshalb edit, sorry.
Das haut alles nicht hin. Komme einfach nicht über die zweite Ebene hinaus.
Hab mir nun ne andere Lösung gebaut, in dem ich einen temporären Ordner
auf dem Desktop erstelle und diesen dann, nachdem dort gespeichert
wurde, entsprechend verschiebe. Funktioniert (weil ja nur zwei Ebenen).
Ist zwar etwas umständlich, aber was soll´s.
Trotzdem vielen Dank für Deine Unterstützung name22.
Lg.....
Hi, weil er es so nicht macht. Hab ich schon probiert.
AppData hab ich angehängt, weil ich möchte das da etwas in einem
weiteren Unterordner gespeichert wird.
Die ersten beiden Ebenen lassen sich ja bearbeiten, aber dann ist schluß.
ich müßte aber noch die dritte bzw. eine vierte Ebene ansprechen können.
Soll ja eigentlich auch funktionieren laut Hilfe.
Habe ein Problem und hoffe, ihr könnt mir helfen.
Ich versuche ein externes TreeView anzusteuern (einen Ordner auswählen Dialog)
[autoit]ControlTreeView ("Ordner suchen", "Destination Directory:", "[CLASS:SysTreeView32; INSTANCE:1]", "Expand", "Desktop|" & @UserName)
[/autoit]
Funktioniert bei 2 Items wunderbar (Desktop und @UserName), also das Aufklappen des Items.
ControlTreeView ("Ordner suchen", "Destination Directory:", "[CLASS:SysTreeView32; INSTANCE:1]", "Expand", "Desktop|" & @UserName & "|AppData")
[/autoit]
Sobald es aber 3 Items sind, geht gar nichts mehr, soll laut Hilfe aber funktionieren ("Überschrift1|H1SubItem3|H1S1SubItem1" oder "#0|#2|#0").
Wer kann mir helfen bzw. nen Tip geben, SuFu hat leider nichts gebracht.
Danke schon mal
genau so hab ich es gemeint ![]()
vielen dank euch beiden.
danke, da hätt ich auch selber drauf kommen können, typisches
anfängerverhalten. trotzdem erschließt sich mir noch nicht
wie ich den zähler realisieren kann, tipp wäre hilfreich.