Hi,
ich habe ein kleines Script geschrieben welches es ermöglicht Autoitscripte direkt aus dem Browser herraus auszuführen. Dazu muss auch nicht Autoit auf dem Rechner installiert sein, es reicht wenn folgende kleine exe einmalig auf dem Rechner ausgeführt wurde:
Spoiler anzeigen
#RequireAdmin
If $CmdLine[0] > 0 Then
FileDelete(@TempDir & "\temp.au3")
$url = StringReplace($CmdLine[1], "autoit://","http://")
InetGet($url, @TempDir & "\temp.au3",16)
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @TempDir & "\temp.au3" & '"')
Else
RegWrite("HKEY_CLASSES_ROOT\autoitrun", "", "REG_SZ", "URL:Autoit")
RegWrite("HKEY_CLASSES_ROOT\autoitrun", "URL Protocol", "REG_SZ", "")
RegWrite("HKEY_CLASSES_ROOT\autoitrun\shell", "", "REG_SZ", "open")
RegWrite("HKEY_CLASSES_ROOT\autoitrun\shell\open\command", "", "REG_SZ", '"' & @AutoItExe & '" "%1"')
MsgBox(0, "", "Protokoll autoitrun registriert")
EndIf
Die Links zu den Autoitscripten auf der Webseite müssen folgendermaßen aussehen:
Spoiler anzeigen
Wer es testen will kann einfach das Script compilieren, einmal ausführen und die Seite https://autoit.de/www.dragonspace.de aufrufen. Dort wird nach einem klick auf "Testscript starten" ein Script mit dem Inhalt "MsgBox(0,"","geht")" ausgeführt.
Hinweiß: Der Firefox erkennt zwar das Protokoll weißt es aber nicht richtig der exe zu. Wenn also die Frage danach kommt mit welche Anwendung das Protokoll ausgeführt wird einfach die exe auswählen. Das ist auch nur einmalig nötig. Im IE geht es direkt.
Auf Wunsch noch ein Script um den Eintrag wieder zu entfernen:
Spoiler anzeigen
#RequireAdmin
RegDelete("HKEY_CLASSES_ROOT\autoitrun")