Autostart in TrayTool

  • Hallo allerseits,

    also in einer GUI hatte ich das schon hinbekommen, aber in einem TrayTool scheint das so nicht zu funktionieren. Ich versuche einen Autostart einzubauen, den ich mit einem Hacken entsprechend an und abwählen kann. Eintragen geht gerade noch so , aber beim Abwählen löscht er den Link nicht, was mache ich bloss falsch? Hoffe ist nicht zu lang, poste das ma eben



    lg


    Chris

  • Hast du dir die Berechtigungen mal angeschaut bzw. mal das Ergebnis vom Filedelete wenn das löschen nicht klappt?

    Versuch das mal mit MsgBox(1, '', _WinAPI_GetLastErrorMessage()) (Die ersten beiden Parameter anpassen, ich setze das nur zum testen so ;)

    Benötigt dann #include <WinAPIError.au3>

  • Habe ich gemacht, da skommt nen Fenster: Es wurde versucht auf ein Token zuzugreifen, was nicht vorhanden ...


    Also grundsätzlichj ist das ok mit

    Code
    If BitAND(GUICtrlRead($autostartitem)

    das auszulesen? Hätte ja sein können, dass das nur mit chexboxes klappt

    lg und danke

  • Damit habe ich bisher nicht gearbeitet aber ich würde das = $BN_CLICKED weg lassen.

    Wobei ich mich frage, ob du das überhaupt brauchst und nicht if GUICtrlRead($autostartitem)then generell reichen würde.

    Bzw. muss, denn du könntest bei selektierter Checkbox auch über die Leertaste die Box setzen, was evtl. kein $BN_CLICKED impliziert. (bin mir da aber aktuell nicht ganz sicher)

    Du kannst das ganze aber ganz einfach mit einer personalisierten Checkbox testen.

    Aber du bekommst ja eine Fehlermeldung, wo hast du diese eingebaut (sollte nach Zeile 150)?

    Und kannst du einmal die ganze Meldung posten?

  • So also noch mal detailiert, ich habe es jetzt hinter jeder Zeile in dem IF Kondtukt gehabt, kam immer nur Erolgreichausgeführt, erst nach der letzten Zeile dsagt er das mit dem Token im Lösch zweig:

  • Pass auf, dein $autostartitem ja ausgelöst, danach würde ich so verfahren (funktioniert bei mir):

  • Wie kommst Du eigentlich auf $BN_CLICKED?

    So wird schon eher ein Schuh draus:

  • Das mit BN_Clicked hatte zumindest in Controlboxen funktioniert, das war ja auch meien Frtage, ob das hier anders heissen muss, ich probiere das mal aus und bedanke mich

    lg


    Chris

  • Okidoki, jetzt hat es geklappt Oscar, recht herzlichen Dank. Dann lag es also anscheinend an der if not Bedingung,


    ok die ist vielleicht zwar überfüssig, aber schon komisch

    2 Mal editiert, zuletzt von casi4712 (10. August 2022 um 14:49)

  • So und dann habe ich logischerweise noch ne Startprüfung reinghauen, damit er den Hacken richtig setzt, da bemängelt er aber unchecked, gibbet das so nicht?

    (letzte Function)

    Einmal editiert, zuletzt von casi4712 (10. August 2022 um 15:04)

  • Versuch es mal mit $TRAY_CHECKED bzw $TRAY_UNCHECKED wobei beides eigentlich den gleichen Wert beinhaltet, wie die $GUI_ Variante

    Nachtrag: Versuch mal TrayItemSetState anstatt GUICtrlSetState

    2 Mal editiert, zuletzt von Moombas (10. August 2022 um 15:35)

  • Also mit TrayItemSet sagt er , dass er die Funktion nicht finden kann, welche Include fehlt denn da wieder;)?

    AutoIt
    Func startcheck()
    
      If FileExists(@StartupDir & "\ACT.lnk") Then
      MsgBox(0,"Info","Text",1)
           TrayItemSet($autostartitem, $TRAY_CHECKED)
      Else
      MsgBox(0,"Info","Text",1)
           TrayItemSet($autostartitem, $TRAY_UNCHECKED)
      EndIf
    EndFunc    

    Gibt es TrayItemSet überhaupt? konnte darüber nichts finden

    Einmal editiert, zuletzt von casi4712 (10. August 2022 um 20:50)

  • Ach doch, irgendwie scheint es jetzt doch zu funktionieren, Problem gelöst. Ich bedanke mich recht herzlichst bei allen Mithelfenden.


    lg und schönen Abend noch