Autoit Programm als Service schreiben

  • Hallo,

    Ich frag mich immer mal wieder ob es möglich ist ein Autoit Programm als Service zu schreiben, so das das Programm beim Systemstart als benutzer: System gestartet wird.
    Den teil das sich das Programm als Service Installiert hab ich schon geschafft, aber nicht so das es Befehle ausführen kann, wie z.B Updates suchen, Programme starten, einfache befehle wie beep, etc
    Ich habe schon ein paar mal diese Funktion benötigt, aber ich bin wissbegierig und möchte für spätere Projekte dieses wissen schon am liebsten haben.
    Das Installieren eines Services habe ich mit der instsrv.exe von Microsoft verwirklicht.

    Also: Starten = Kein Problem, Funktionen ausführen = kommt nix

    Weis einer mehr als ich?

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

  • Inwiefern kommt nix? Läuft der Service und kann z.B. in Intervallen ein Logfile schreiben oder Programme starten, so dass sie im Taskmanager zu sehen sind? Wenn ja passt das soweit ja alles. Wenn du hingegen auf einem anderen angemeldeten Benutzeraccount irgendwas sehen willst brauchst du soweit ich das weiß einen interaktiven Service der die grafische Ausgabe auf dem gewünschten Account macht. Wie man sowas einrichtet kann ich dir leider nicht sagen, hab ich mich nie damit beschäftigt.

    Hier ein paar Infos dazu: http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx

  • Also ich habe es ebend noch mal getestet, Programme starten oder Logs schreiben kann ich nicht, aber das Programm nimmt normal Arbeitsspeicher ein.
    Das Programm ist also wie eingefrohren.
    Ich habe das auch schon bei anderen Programmen wie z.B den Process Explorer gestartet, die nicht von mir sind, dort ist das gleiche Problem.
    Liegt es an der art wie ich es Installiere?

    Spoiler anzeigen
    [autoit]

    Run(@ScriptDir & "\instsrv.exe " & $szServiceName & " """ & $szFileName & """", @ScriptDir, @SW_HIDE)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" & $szServiceName, "Type", "REG_DWORD", 272)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" & $szServiceName, "Start", "REG_DWORD", 2)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" & $szServiceName, "DisplayName", "REG_SZ", $szServiceName)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" & $szServiceName, "ObjectName", "REG_SZ", "LocalSystem")
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" & $szServiceName, "Description", "REG_SZ", $szDesc)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" & $szServiceName & "\Parameters", "Application", "REG_SZ", $szFileName)

    [/autoit]


    Ich denke, bis das Programm sich nicht geringfügig befehle ausführen kann, brauch ich denk ich mal vorerst das mit dem Interaktiven Service, halte ich mir aber im Hinterkopf.

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes: