Aktuelles Verzeichnis in TC auslesen mittels AHK

German support forum

Moderators: white, Hacker, Stefan2

User avatar
Stefan2
Power Member
Power Member
Posts: 4155
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

tuska wrote: ist es nun auch mir gelungen unter folgenden Versionen Tests erfolgreich durchzuführen:
Klasse :thumpsup:

Wenn ich mir noch eine Anmerkung erlauben darf:
> bei dem Code von Herrn Ghisler wird der Pfad vor dem Dateinamen unverzüglich eingefügt.
> bei dem o.a. Code erfolgt die Ausrollung des Pfades vor dem Dateinamen langsamer.
Gut beobachtet. Für weitere Infos siehe AHK Hilfe bezüglich
Send / SendRaw / SendInput / SendPlay / SendEvent
{Raw}





 
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Stefan2 wrote:
Wenn ich mir noch eine Anmerkung erlauben darf:
> bei dem Code von Herrn Ghisler wird der Pfad vor dem Dateinamen unverzüglich eingefügt.
> bei dem o.a. Code erfolgt die Ausrollung des Pfades vor dem Dateinamen langsamer.
Gut beobachtet. Für weitere Infos siehe AHK Hilfe bezüglich
Send / SendRaw / SendInput / SendPlay / SendEvent
{Raw}
Danke für diesen wertvollen Hinweis! Manchmal könnte ich glauben, daß Du mich noch zu einem Programmierer umerziehen möchtest :-)

Ich hatte den Eindruck, daß SendInput eine noch einen Tick schnellere Ausgabe des Pfades als Sendplay ergibt (beides hat funktioniert).
Daher habe ich aufgrund Deines Tipps die Zeile Send, {Raw}%PathInTC%\ ==> auf SendInput, {Raw}%PathInTC%\ geändert -
hier nochmals der gesamte Code:

Code: Select all

#IfWinExist, ahk_class TTOTAL_CMD 

 ; Default shortcut is Win-A 
 $#a:: 
    WinGetText, TCWindowText, ahk_class TTOTAL_CMD 
    RegExMatch(TCWindowText, "m)(?<=^).*?(?=>)", PathInTC) 
    SendInput, {Raw}%PathInTC%\ 
 Return
Jetzt läuft alles noch einen Tick schneller! :D Danke!
Gruß,
Karl
User avatar
Stefan2
Power Member
Power Member
Posts: 4155
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

tuska wrote: Manchmal könnte ich glauben, daß Du mich noch zu einem Programmierer umerziehen möchtest :-)
Gib dem Mann einen Fisch, und er hat Essen für einen Tag.
Lerne ihn Angeln,....







Außerdem lerne ich da gleich mit....
 
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

tuska,
Genau, SendInput / SendEvent / SendPlay ausprobieren. SendInput wird für die meisten Fälle empfohlen.
Oder einfach am Skriptanfang ein SendMode, Input einfügen, und dann normal Send benutzen, die werden dann alle automatisch in SendInput umgewandelt.

Stefan2,
Mache für einen Mann Feuer, und er ist warm für eine Nacht.
Zünde ihn an...
:D

Roman
EDIT: Ja, schwarzer Humor ist leider immer geschmacklos.
Last edited by Hacker on 2016-06-18, 21:00 UTC, edited 1 time in total.
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Ich bin heute auf das Windows Creators Update umgestiegen:
Windows 10 Pro (x64) Version 1703 (Build 15063.296)
(Registry: Build 15063.rs2_release.170317-1834)
https://technet.microsoft.com/de-at/windows/release-info

Der AHK-Code mußte wieder einmal geändert werden... (DANKE an die Profis in diesem Forum!)
ClassNN: Window7 lautet das "Zauberwort" (AU3_Spy.exe)
Dateiname (zB): Pfad-einfügen-in-Speichern-unter-Dialog_Windows-Taste-und-A.ahk

Code: Select all

#IfWinExist, ahk_class TTOTAL_CMD 

$#a:: 
   ControlGetText, PathInTC, Window7, ahk_class TTOTAL_CMD 
   StringReplace, PathInTC, PathInTC, >, \ 
   SendInput, {Raw}%PathInTC% 
Return

{ 
SendMessage 1074, 21, 0, , ahk_class TTOTAL_CMD 
 ControlGetText, PathInTC, %ErrorLevel%, ahk_class TTOTAL_CMD 
 StringReplace, PathInTC, PathInTC, >, \ 
 SendInput, {Raw}%PathInTC%
 return
 }
; WM_USER+50  = 1074
; Default shortcut is Win-A
Button:

Code: Select all

TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Tools\AutoHotkey\Pfad-einfügen-in-Speichern-unter-Dialog_Windows-Taste-und-A.ahk"

%COMMANDER_PATH%\Tools\AutoHotkey\AutoHotkey.exe
Pfad einfügen (vor dem Dateinamen) in "Speichern unter..."  WIN + A |STRG+ALT+ENTF = TaskManager:  Arbeitsspeicher: 2.2 MB ... |Prozesse-Hintergrundprozesse:  AutoHotkey Unicode 64-bit |[Ggf. neues Script in die Buttonbar ziehen(!) und Tooltip anpassen]
%COMMANDER_PATH%\Tools\AutoHotkey\

-1
Gruß,
Karl
User avatar
Hacker
Moderator
Moderator
Posts: 13064
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

tuska,
Dies ist etwas universeller:

Code: Select all

#IfWinExist, ahk_class TTOTAL_CMD

; Default shortcut is Win-A
$#a::
	WinGetText, TCWindowText, ahk_class TTOTAL_CMD
	RegExMatch(TCWindowText, "m).*?(?=>)", PathInTC)
	Send, {Raw}%PathInTC%\
Return
HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6482
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Hacker wrote:tuska,
Dies ist etwas universeller:

Code: Select all

#IfWinExist, ahk_class TTOTAL_CMD

; Default shortcut is Win-A
$#a::
	WinGetText, TCWindowText, ahk_class TTOTAL_CMD
	RegExMatch(TCWindowText, "m).*?(?=>)", PathInTC)
	Send, {Raw}%PathInTC%\
Return
HTH
Roman
Win-A ist das Action Center
Ich nehme AltGr-P da gibt es bei mir keinen Konflikt
<^>!p::

Das ganze kann man sich sparen, wenn man Listary installiert hat.
Da gibt man im Dialogfeld eines Programms einfach Ctrl-G ein
und der Pfad ändert sich auf den aktuellen TC Pfad.
Ausserdem ändert der Pfad sich automatisch, wenn ich im TC das Verzeichnis wechsele.
Das allein ist den Einsatz von Listary wert. :D
Windows 11 Home x64 Version 23H2 (OS Build 22631.3447)
TC 11.03 x64 / x86
Everything 1.5.0.1372a (x64), Everything Toolbar 1.3.3, Listary Pro 6.3.0.73
QAP 11.6.3.2 x64
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

2Hacker
Danke für den Tipp und das geänderte AHK-Skript, dieses funktioniert ausgezeichnet!
Das AHK-Skript werde ich weiterhin auf PCs verwenden, auf denen die Installation eines Systemdienstes nicht gestattet ist.

2Horst.Epp
Danke für den Hinweis auf AltGr+P.
Habe den Code von Hacker VON: $#a:: AUF: <^>!p:: wie von Dir angegeben geändert.

Danke für den Top-Tipp bezüglich Listary!
Ich habe mir die portable Version heruntergeladen von: http://www.listary.com/download
und werde diese ab sofort verwenden (inkl. ListaryService.exe) - Strg+G und anderes hat mich einfach überzeugt.

TC 9.0a - 32 bit + 64 bit | Windows 10 Pro (x64) Version 1703 (Build 15063.296)
Gruß,
Karl
Post Reply