EN NL

ac'tivAid

Leider muss an dieser Stelle mitgeteilt werden, dass Wolfgang Reszel seine Arbeit an ac'tivAid beendet hat. Eine Entwicklerversion von ac'tivAid gibt es auf meiner Webseite. Gruß, Michael

Willkommen beim Bugtracker zu ac'tivAid. Ac'tivAid ist ein AutoHotkey-Skript, welches zuletzt in c't 12/08 ausführlich vorgestellt wurde.
Die letzte stabile Version finden Sie unter www.heise.de/ct/activaid.

Wenn Sie in der stabilen Version einen Fehler finden, testen Sie bitte erst die aktuelle Beta-Version, bevor Sie den Fehler melden!

Um evtl. schon hier behandelte und geschlossenen Themen mit der Suche zu finden, muss in der erweiterten Suche bei Status "Alle offenen Aufgaben" auf "Alle Status" umgestellt werden.

Letzte stabile Version bei Heise.de: 1.3.1

Letzte beta Version 1.3.2 beta1 : activaid_beta.exe | portable_activaid_beta.exe

Entwicklerversion von Michael

Änderungen, Liesmich/Hilfe, FAQ und Themen-Special (bei www.heise.de)

Digital Upgrade haben ein Video zu ac'tivAid 1.1.8.1 gedreht, wo ein paar Funktionen kurz angesprochen werden.

Aufgabenliste

FS#165 - UserHotkeys um Mouse-Tasten erweitern

Gehört zu Projekt: ac'tivAid
Angelegt Patrick (skydive241) - Mittwoch, 30. November 2005 - 13:43
Zuletzt bearbeitet von Wolfgang Reszel (Tekl) - Donnerstag, 20. Juli 2006 - 16:01
Aufgabentyp Wunsch / Idee
Kategorie Erweiterungen → UserHotkeys
Status Geschlossen
Zuständig Wolfgang Reszel (Tekl)
Betriebssystem Alle
Schweregrad Mittel
Priorität Normal
Betrifft Version 1.0.4.12 beta
Fällig in Version Unbestimmt
Fällig am Unbestimmt
Prozent erledigt 100%
Stimmen 0
Versteckt Nein

Beschreibung

Hallo, schön wäre eine Erweiterung der Funktionalität UserHotkeys um Maustasten. Konkret würde ich mir sowas wünschen wie MButton::AltTabMenu WheelDown::AltTab WheelUp::ShiftAltTab aus der AutoHotkey-Hilfe.

P.S. Ich habe die für mich relevanten Erweiterungen auf mein NT4-System angepasst. Falls daran jemand Interesse hat, einfach fragen.

Diese Aufgabe ist abhängig von

Geschlossen  Wolfgang Reszel (Tekl)
Freitag, 21. Juli 2006 - 09:25
Grund für Schließung:  implementiert
Zusätzlicher Kommentar zur Schließung:  So, das mit AltTab ist nun drin.
Kommentar von Wolfgang Reszel (Tekl) - Mittwoch, 30. November 2005 - 14:08

Das mit dem Mausrad lässt sich sicherlich realisieren.

Welche Anpassungen waren für NT4 nötig bzw. welches Fehlverhalten trat unter NT4 überhaupt auf?

Kommentar von Patrick (skydive241) - Donnerstag, 01. Dezember 2005 - 10:51

Die Abfragen

    If FullPath = 1

...

    Else If FullPathAddress = 1

(ac’tivAid.ahk, ca. Zeile 4964) funktionieren nicht unter NT4. Ich habe sie ersetzt durch

    If (%A_OSVersion% = WIN_NT4 OR FullPathAddress = 1)

Die Abfrage (ac’tivAid_RecentDirs.ahk, Zeile 236, 281) ; FileGetShortcut, %A_LoopFileFullPath%, rd_ShortcutTarget habe ich ersetzt durch

    FileGetShortcut, %A_LoopFileFullPath%,, rd_ShortcutTarget

Ausserdem die Zeile 258 ; rd_AllTargets = %rd_AllPaths%/%rd_ShortcutTarget%`n durch

          rd_AllTargets = %rd_AllTargets%/%rd_ShortcutTarget%`n

da ansonsten Verzeichnisse doppelt gelistet waren.

In ac’tivAid_WebSearch.ahk musste ich die Fensterpositionierung statisch machen, da es ansonsten immer “links draussen” angebracht wurde: Zeile 810: ; Gui, 7:Show, AutoSize %ws_GuiX% %ws_GuiY%, %ws_ScriptTitle%

 Gui, 7:Show

...und Zeile 833: ; WinMove, ws_GuiX, ws_GuiY ;

In ac’tivAid_Eject.ahk hat die Anzeige der Grafik nicht funktioniert (Zeile 139): ; Gui, Add, pic, x0 y0, extensions\ac’tivAid_Eject_eject.gif ; Bild laden '

    Gui, Add, pic, w185 h-1, extensions\ac'tivAid_Eject_eject.gif  ; Bild laden '

und an das Laufwerk musste ich einen Doppelpunkt anfügen (Zeile 119, hier fix belegt): sub_Hotkey_Eject: ; ej_Drive := func_HotkeyGetVar(”ej_Hotkey”,11,”ej_Drive”)

 ej_Drive := "F:"
 gosub, ej_main_Eject

Return

Generell musste ich alle angezeigten Bindestriche in Texten (z.B. ac’tivAid.ahk, Zeile 1230) ; OptionsListBox = %lng_Readme%||%lng_Changelog%|——————————————————|%lng_Settings%|——————————————————

    OptionsListBox = %lng_Readme%||%lng_Changelog%|------------------------------------|%lng_Settings%|------------------------------------

ersetzen, da sie auf meinem (deutschen) System nicht angezeigt wurden.

Kommentar von Wolfgang Reszel (Tekl) - Donnerstag, 01. Dezember 2005 - 14:41

Danke für die Hinweise. RecentDirs sollte eigentlich gar nicht mit NT4 laufen, das NT4 sich nur Dateien merkt nicht Verzeichnisse. Ich habe nun aber eine Abfrage für WIN NT drin, so dass Ihr Workaround verwendet wird. Das mit dem Minus-Zeichen leigt wohl daran, dass bei NT die Standard-Schrift keinen Gedankenstrich kennt. Ich habe nun alles in die neue Beta-Version aufgenommen. Prüfen Sie bitte ob es so funktioniert.

Kommentar von Patrick (skydive241) - Freitag, 02. Dezember 2005 - 07:42

Leider sitze ich hinter einem Proxy. Ich muss also auf die nächste Download-Version warten, um testen zu können.

Kommentar von Wolfgang Reszel (Tekl) - Freitag, 02. Dezember 2005 - 10:16

Die aktuelle Beta finden Sie hier: http://activaid.rumborak.de/activaid.zip

Kommentar von Patrick (skydive241) - Freitag, 02. Dezember 2005 - 13:15

Ein paar “Gedankenstriche” (NT4-unverträglich) sind mir noch aufgefallen:

ac’tivAid_HotStrings.ahk ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 220 Gui, Add, Button, -Wrap x+5 w25 vhs_Remove_HotstringBox ghs_sub_ListBox_remove %hs_Disabled%, -

ac’tivAid_QuickNote.ahk ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ NT4-unverträgliche Sonderzeichen geändert: 31 lng_qn_DateTime = ‘Timer:’ dd.MM.yyyy ‘- ' HH:mm:ss 54 lng_qn_DateTime = ‘Timer:’ dd.MM.yyyy ‘- ' HH:mm:ss

ac’tivAid_WebSearch.ahk ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ NT4-unverträgliche Sonderzeichen geändert (Zeile 296): ; Gui, Add, Button, -Wrap x+5 w25 vws_Delete gws_sub_Delete, –

 Gui, Add, Button, -Wrap x+5 w25 vws_Delete gws_sub_Delete, -

RecentDir listet Verzeichnisse doppelt, weshalb ich die Ermittlung geändert habe: ac’tivAid_RecentDirs.ahk ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Zeile 263 (wegen doppelter Anzeige mancher Einträge):

       	if A_OSversion = WIN_NT4
            rd_AllTargets = %rd_AllTargets%/%rd_ShortcutTarget%`n
          else
            rd_AllTargets = %rd_AllPaths%/%rd_ShortcutTarget%`n

Die Titelleiste des Explorers stellt vor den Pfad “Explorer - “, weshalb ich die Ermittlung dort geändert habe: Zeile 5267ff:

    ; Aktuellen Pfad anhand der Titelleiste ermitteln
    UnusedTitle := "Explorer - "
    If FullPath = 1
    {
        WinGetTitle, Path, ahk_id %WindowID%
        if (%A_OSVersion% = WIN_NT4)
        {
          IfInString, Path, %UnusedTitle%
          {
   			UsedTitleLength := StrLen(Path) - StrLen(UnusedTitle)
            StringRight, Path, Path, UsedTitleLength
          }
        }

... Ausserdem lässt sich offensichtlich das Vorhandensein der Adresszeile nicht wie gewünscht ermitteln, weshalb ich die Abfrage bei mir abgeschaltet habe: Zeile 5297

    Else If (FullPathAddress = 1 or %A_OSVersion% = WIN_NT4)

Ansonsten funktioniert alles wie gewünscht! :-)

Schönes Wochenende!

Kommentar von Wolfgang Reszel (Tekl) - Freitag, 02. Dezember 2005 - 13:45

Danke, wird alles korrigiert. Nur frage ich mich gerade, warum bei Ihnen “Explorer - " im Titel steht und wozu es bei Ihnen wichtig ist, die Adresszeile zu ermitteln. Der alte Explorer hatte doch keine Adresszeile, sondern nur ein PopUp-Feld um das Laufwerk zu wechseln, oder? Kann man NT4 so konfigurieren, dass dort der ganze Pfad steht? Meines Wissens kann man den Pfad in NT nur über die Titelleiste ermitteln und das sollte ja auch ohne Ihren Workaround funktionieren.

Kommentar von Patrick (skydive241) - Freitag, 02. Dezember 2005 - 14:12

Okay, dass ist nicht ganz so einfach. Ich habe den IExplorer 6.0 mit einem Trick so installiert, dass die Quickstart-Leiste installiert wird. Das bringt mit sich, dass es eine Adresszeile gibt und noch ein paar andere kosmetische Verbesserungen.

In meinen Titelleisten steht immer der Programmname vorne, also eben “Explorer - Pfad”. Ob das auch erst nach der Installation der Quickstart-Leiste so war, weiss ich leider nicht mehr....

Kommentar von Wolfgang Reszel (Tekl) - Freitag, 02. Dezember 2005 - 14:20

Wenn Sie rausfinden, wo die Option der Adressleiste in der Registry abgelegt wird, könnte ich das integrieren. Das mit Explorer - müsste in der aktuellen Beta nun funktionieren. Ich habe das auf einem alten NT4-Server allerdings nicht sehen können.

Kommentar von Patrick (skydive241) - Sonntag, 04. Dezember 2005 - 13:07

Ich habe per Snapshot-Vergleich ermittelt, wo der Schalter für die Adressleiste untergebracht ist (übrigens wird dieses Bit auch bei Windows XP upgedated, wenn der Schalter dort auch zusätzlich an anderer Stelle untergebracht ist):

; Registrywert für Explorer-Einstellungen auslesen (funktioniert auch bei WinXP) RegRead, rd_Address,HKEY_CURRENT_USER,Software\Microsoft\Internet Explorer\Toolbar\Explorer,ITBarLayout ; Offset 0×10: 1B = Adressleiste an ; 19 = Adressleiste aus ; Offset für String-Operationen (16 * 2 + 1) + 1 (für niederwertiges Halbbyte) = 34 StringMid, rd_Address, rd_Address, 34, 1 ; String nach Hex konvertieren (weiss nix Besseres) rd_Address = 0x%rd_Address% ; 2. Bit gesetzt? Transform, rd_Address, BitAnd, rd_Address, 0×2 SecondBitSet := (rd_Address = 2) ; Ergebnis anzeigen if (SecondBitSet) then

MsgBox, Adressleiste an

else

MsgBox, Adressleiste aus

Da ich die Syntax von AutoHotkey einigermaßen gruselig finde, mag es bessere Lösungen für die Prüfung dieses Bits geben, aber bei mir funktioniert der oben angegebene Ansatz.

Lade...