Vielen Dank AspirinJunkie!
Tatsächlich es klapp ebenfalls.
Und #RequireAdmin ist wirklich nicht notwendig, auch nicht bei der Variante von Bitnugger.
Beiträge von DOheim
-
-
Ich hatte ja schon gesucht, aber keine Stelle gefunden, wo ich "gelöst" vermerken könnte.
Aber jetzt weiß ich es: Ich muss die Registerkarte Forum neu aufrufen.
Gruß Dieter und nochmals danke -
Recht herrlichen Dank für Eure Antworten!
Wie Bitnugger vermutet hat, habe ich einb 64-Bit-System und führe das Programm als 32-Bit-Anwendung aus.
Vielen Dank für die asuführliche Anleitung. Jetzt klappt alles prima.
Gruß
Dieter -
Vielen Dank für Deine Antwort!
Ich glaube, ich habe es nicht richtig verstanden.
Die Zeile #RequireAdmin steht doch am Anfang meines Programms.
Guß
Dieter -
Ich möchte mit meinem AutoIt-Programm im Ordner C:\Windows\System32\Tasks Dateien lesen.
Mit den Funktionen FileFindFirstFile usw. wäre es am elegantesten, aber das funktioniert nicht.
Kopiere ich jedoch den Ordner mittels Kommandodatei zunächst in einen anderne Ordner, so kann ich in diesem einwandfrei mit FileFindFirstFile / FileFindNextFile / FileOpen usw. lesen.Kommandodatei <D:\Test\Test.bat>:
rmdir /S /Q "Aufgabenplanung"
Pause
xcopy /Y /R /H /C /E /I "C:\Windows\System32\Tasks" "Aufgabenplanung"
PauseNun möchte ich diesen Kopiervorgang in mein AutoIt-Programm einbauen. Aber auch da scheitere ich:
<D:\Test\Test.au3>:
AutoIt
Alles anzeigen#RequireAdmin $dir="C:\Windows\System32\Tasks" $dest="Aufgabenplanung" ; -------- Variante 1: $e=RunWait("Test.bat") MsgBox(0,"1",$e&":"&@error) ; -------- Variante 2: $e=RunWait(@ComSpec & " /c " & 'rmdir /S /Q "'&$dest&'"') MsgBox(0,"2",$e&":"&@error) $e=RunWait(@ComSpec & " /c " & 'xcopy /Y /R /H /C /E /I "'&$dir&'" "'&$dest&'"') MsgBox(0,"3",$e&":"&@error)Bei Variante 1 kommt die Fehlermitteilung
........... Datei Tasks nicht gefunden
........... 0 Datei(en) kopiert
und bei Variante 2 der xcopy-Exitcode 4.Was mache ich falsch?
Vielen Dank schon einmal für eine Antwort. -
Recht herzlichen Dank. Es funktioniert.
Habe wieder was dazu gelernt.
Gruß
Dieter -
Vielen Dank für Deine Antwort.
Mit HKLM64 hatte ich es auch schon versucht. Mit gleichem Ergebnis.
Und unter
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node[/b]\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
gibt es bei mir auch keine Unterschlüssel.Es handelt sich ja um die in der Windows-Aufgabenplanung enthaltenen Aufgaben. Mit dem Fenster, das man mittels
%windir%\system32\taskschd.msc /s
aufrufen kann, habe ich versuchsweise eine eigene Aufgabe eingerichtet. Und diese erscheint auch wirklich mit regedit als Unterschlüssel von
"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks" .
Aber ich bekomme sie eben nicht mit RegEnumKey in mein AutoIt-Programm.Oder habe ich Dich falsch verstanden?
-
Ich möchte die Unterschlüssel von
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
mit folgendem Programm einlesen:Das klappt aber nicht.

Was habe ich falsch gemacht?
-
Recht vielen Dank für Deine Antwort. Jetzt werde ich zurecht kommen.
Gruß
Dieter -
Wenn ich das Beispiel für die Funktion RegEnumKey starte erscheint z.B. Adobe. Das wird aber mit dem Registrierungseditor gar nicht angezeigt. Wie erklärt sich das?
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. -
Recht herzlichen Dank für Eure Antworten.
Besonders für Alinas ausführliche Anleitung. Hat auf Anhieb geklappt.
Gruß
Dieter -
Ich wollte entsprechend dem Hinweis von Oscar auf
Laufwerke ein/ausblenden
verfahren.
Aber in meiner Registry (Win10) existiert der Schlüssel "Explorer" nicht.Was kann ich tun, um ein Laufwerk unsichtbar zu machen?
Vielen Dank schon einmal für eine Antwort. -
Lieber Phil-IT,
unmittelbar bevor ich diese Frage gestellt hatte habe ich die neuste AutoIt-Version ( Stabil 3.3.14.2) heruntergeladen und installiert.
Den InternetExplorer werde ich bei nächster Gelegenheit nochmals neu installieren, aber große Hoffnung mache ich mir nicht. Denn das letzte Update war ja - wie gesagt - erst im Juli.Lieber BananaJoe,
wenn ich Dein Programm starte, kommt ebenfalls:
Gruß
Dieter -
Vielen Dank für Eure Antworten!
Lieber Kanshius,
Microsoft updatet sogar meinen IE11. Das letzte Update ist erst vom Juli 2016. Mein Win10 habe ich im November von Win7 geupgraded. Da wurde der IE mit übernommen und hat sofort einwandfrei gearbeitet.Lieber autoBert,
Das Beispiel bringt auch den @error=1. -
Seit einiger Zeit funktioniert eins meiner Programme nicht mehr. Jetzt hatte ich Zeit, mich damit zu befassen. Es stellt sich heraus, dass die Funktion _IECreate nicht mehr arbeitet. Selbst das einfache Beispiel aus der Hilfe geht nicht:
#include <IE.au3>
Local $oIE = _IECreate("www.autoitscript.com")Was ist die Ursache?
Ich habe Win10 mit IE-Version 11.0.33
Vielen Dank schon mal für eine Antwort.
-
Was es alles gibt. Das ist wohl die einfachste Lösung. Vielen Dank!
-
OnAutoItExitRegister ist ja eine prima Funktion. Die ist mir bisher noch nicht über den Weg gelaufen. Bzw. habe ich sie beim Durcharbeiten der AutoIt-Hilfe nicht im Kopf behalten.
Jetzt habe ich mehrere Lösungsmöglichkeiten und die Qual der Wahl.
Vielen Dank Euch allen. -
Recht vielen Dank für Eure Antworten.
Ich muss sie mir nun erst einmal zu Gemüte ziehen.
Der Vorschlag von Oscar erscheint mir insofern problematisch, dass wenn das Programm aus irgendeinem Grund abbricht bevor die Semaphorendatei geschlossen wird, dann bleibt sie "hängen" und blockiert alles weitere. Es kommt dann zwar
MsgBox(0, 'Timeout', 'Zugriff verweigert'). Aber schön ist das auch nicht.
Gruß Dieter -
Ich habe zwei Programme, die auf die gleiche Datei zugreifen.Wenn das eine Programm die Datei geöffnet hat, soll das andere Programm, wenn es die Datei öffnen will, so lange warten bis das erste die Datei wieder geschlossen hat.FileOpen leistet das nicht.Wenn ich z. B. dieses Programm zweimal starte, können beide ungehindert mit der Datei parallel arbeiten.
Code$h=FileOpen("Text.txt",2) MsgBox(0,"","offen") FileWriteLine($h,"yyy") MsgBox(0,"","geschrieben") FileClose($h) MsgBox(0,"","geschlossen")Was tun?
-
Vielen Dank für Deine Erklärungen.
Ich habe in den Tutorials ein "altes" AMD-Papier mit der Befehlsreferenz (incl. Zeichnungen/Bildern!!!) verlinkt, etwas besseres habe ich bisher zu diesem Thema nicht gefunden.
Wo finde ich das Tutorial?
Ich stehe allerdings auf dem Standpunkt, dass man mit zwei Handvoll x86-ASM-Befehle JEDES programmiertechnische Problem erschlagen kann.
Nachdem ich in meinem Bitmap-Programm den entsprechenden Abschnitt ersetzt habe, werden statt 31 Sekunden nur noch 57 Millisekunden benötigt. Erfolg 1:500
Gruß Dieter