[REQ] Titel bei FTP Passwort-Dialog individuell benennen

German support forum

Moderators: Hacker, Stefan2, white

Murphy
Member
Member
Posts: 124
Joined: 2005-02-20, 10:26 UTC

[REQ] Titel bei FTP Passwort-Dialog individuell benennen

Post by *Murphy »

Moin :)

Auch wenn sich der Titel dieses Threads ein wenig kompliziert und verwirrend anhört, geht es hier um einen ganz simplen Request.

Wenn ich eine meiner vordefinierten FTP-Verbindungen anwähle und dann auf "Verbinden" klicke, öffnet sich ein Dialogfeld in dem ich mein Passwort eingeben kann. Dieses Dialogfeld hat einfach nur den Titel "ftp". Ich möchte einfach nur, dass statt "ftp" der Name es FTP-Servers mit im Dialogtitel erscheint, also zum Beispiel "Passwort für Privat03" oder ähnlich.

Hintergrund: Aus Sicherheitsgründen speichere ich meine FTP-Passwörter nicht im TotalCommander, sondern in der externen Anwendung KeePass. Mit dieser Anwendung ist es möglich per Tastendruck automatisch das Passwort einzufügen. Um in Erfahrung zu bringen, welches Passwort gerade benötigt wird, bedient sich KeePass einfach am Titel des aktuellen Fensters und daher würde ich begrüßen, wenn man dort den Titel des FTP-Servers mit unterbringen könnte.

Sollte wirklich nur eine Kleinigkeit sein und würde mich freuen, wenn es noch Einzug in den TC halten würde :)

Ich wünsche noch ein schönes Wochenende :)

Grüße,
Murphy
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Support++.

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
Dalai
Power Member
Power Member
Posts: 10019
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ich möchte einfach nur, dass statt "ftp" der Name es FTP-Servers mit im Dialogtitel erscheint...
Das wäre eine sehr gute Sache! Support++

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50841
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Gute Idee, sollte sich einfach einbauen lassen.
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50841
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Leider ist es doch nicht so einfach wie ich dachte. Die entsprechende Funktion wird von dutzenden von anderen Funktionen aufgerufen, und kennt die aktuelle Verbindung leider nicht. Ich werde die Änderung deshalb leider auf eine spätere Version verschieben müssen, weil das Risiko für neue Bugs dadurch stark steigen würde.
Author of Total Commander
https://www.ghisler.com
Murphy
Member
Member
Posts: 124
Joined: 2005-02-20, 10:26 UTC

Post by *Murphy »

Schade, na dann warten wir halt noch ;)

Bis dahin ein AutoHotkey-Script als Alternativlösung:

Code: Select all

#IfWinActive, ahk_class TCONNECT
!v::
ControlClick, TButton4,,,L
WinWait, FTP: Verbindungsdetails
ControlGetText, TCFtp, TEdit8, FTP: Verbindungsdetails
ControlClick, TButton5,,,L
WinWaitActive, Mit FTP-Server verbinden
ControlClick, TButton8,,,L
WinWait, ftp
WinSetTitle, ftp,,Passwort für FTP-Server "%TCFtp%"
return
Funktioniert allerdings nur wenn man im Verbinden-Dialog STRG+V drückt. Vielleicht hat jemand noch eine andere Idee das umzusetzen. Mir ist gerade nichts anderes eingefallen ;)

Grüße,
Murphy
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Murphy,
Naja, man koennte es auch so machen:

Code: Select all

#IfWinActive, ahk_class TCONNECT
$Enter::
	ControlGet, Style, Style, , TButton8
	If (Style & 0x1)
	{
		ControlClick, TButton4,,,L
		WinWait, FTP: Verbindungsdetails
		ControlGetText, TCFtp, TEdit8, FTP: Verbindungsdetails
		ControlClick, TButton5,,,L
		WinWaitActive, Mit FTP-Server verbinden
		ControlClick, TButton8,,,L
		WinWait, ftp
		WinSetTitle, ftp,,Passwort für FTP-Server "%TCFtp%"
	}
	Else
		Send, {Enter}
Return
Leider faellt mir kein besserer Weg ein um den Namen der Verbindung rauszufinden.

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.
Murphy
Member
Member
Posts: 124
Joined: 2005-02-20, 10:26 UTC

Post by *Murphy »

2Hacker:

Gute Idee. Ich wollte gerade noch implementieren, dass ein Mausklick auf "Verbinden", ebenfalls Den Verbindungsnamen ausliest. Leider habe ich keine Ahnung von AutoHotkey.

Mit MouseGetPos, , , ,TCControl kann man ja das Control unter dem Mauszeiger abfragen.

Code: Select all

#IfWinActive, ahk_class TCONNECT
$LButton::
     MouseGetPos,,,,TCControl
     If (TCControl = TButton8)
     {
           ControlClick, TButton4,,,L
           WinWait, FTP: Verbindungsdetails
           ControlGetText, TCFtp, TEdit8, FTP: Verbindungsdetails
           ControlClick, TButton5,,,L
           WinWaitActive, Mit FTP-Server verbinden
           ControlClick, TButton8,,,L
           WinWait, ftp
           WinSetTitle, ftp,,Passwort für FTP-Server "%TCFtp%"
   }
   Else
      Send, {LButton}
Return
Wie könnte man das noch integrieren und wie müssten dann alle drei Abfragen in einem Script aussehen? Bin mir nicht sicher wie oft die Abfrage #IfWinActive da sein muss (reicht ein Mal oder muss vor jedem Hotkey eins, wie oft muss "Return" benutzt werden usw.)

AutohotKey ist meiner Ansicht nach extrem unkonsistent und es treten überall Stolperfallen auf, die nur sehr schwer zu umgehen sind. Meist sind es nur winzige Fehler, die eine Ausführung unmöglich machen. Kann allerdings auch sein, dass ich mich damit zu wenig beschäftigt habe. AutoIt3 zum Beispiel lässt solche Dinge erst gar nicht zu, das ist extrem einfach handzuhaben, nur leider für solche Dinge hier bei weitem nicht so geeigent wie AutoHotkey ;)
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Murphy,
AutohotKey ist meiner Ansicht nach extrem unkonsistent und es treten überall Stolperfallen auf, die nur sehr schwer zu umgehen sind.
Hm, irgendwie bin ich noch keiner begegnet. :)

Einfach so:

Code: Select all

#IfWinActive, blabla
$hotkey1::
	tue dies
Return
$hotkey2::
	tue das
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.
Murphy
Member
Member
Posts: 124
Joined: 2005-02-20, 10:26 UTC

Post by *Murphy »

Also reicht ein #IfWinactive und nach jedem Hotkey ein Return. OK.

Aber wie bekommt man es hin, dass man das Control unter der Maus abfragt, so wie ich es im vorigen Beitrag versucht habe? Das klappt nicht...
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

So funktioniert's:

Code: Select all

#IfWinActive, ahk_class TCONNECT
$LButton::
	MouseGetPos, , , , Control
	IfEqual, Control, TButton8
	{
		ControlClick, TButton4
		WinWaitActive, ahk_class TDETAILS
		ControlGetText, SessionName, TEdit8
		ControlClick, TButton5
		WinWaitActive, ahk_class TCONNECT
		ControlClick, TButton8
		WinWait, ahk_class TSTDTREEDLG
		WinSetTitle, ftp - %SessionName%
	}
	Else
		Click
Return
In deinem Skript muesste man wahrscheinlich

Code: Select all

WinWait, FTP: Verbindungsdetails
durch

Code: Select all

WinWaitActive, FTP: Verbindungsdetails
ersetzen.

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.
Murphy
Member
Member
Posts: 124
Joined: 2005-02-20, 10:26 UTC

Post by *Murphy »

Dank für die Unterstützung :)

Funktioniert das bei dir wirklich? Bei mir geht es nicht :(

Zum Testen Habe ich nach dem MouseGetPos mal eine MsgBox, %Control% eingebaut und diese MessageBox erscheint komischerweise egal, wo ich klicke, nur nicht auf "Verbinden". Mir kommt es vor, dass durch den Klick auf "Verbinden" sofort das neue Dialogfenster geöffnet wird, ohne eine Aktion auszuführen.

Bei meinem Script zuvor war es dasselbe Problem. Gibt es dafür eine Lösung oder liegt das an meinem PC? ;)

Vielen Dank schon Mal für die Hilfe :) :(
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Funktioniert das bei dir wirklich?
Jap.
Zum Testen Habe ich nach dem MouseGetPos mal eine MsgBox, %Control% eingebaut und diese MessageBox erscheint komischerweise egal, wo ich klicke, nur nicht auf "Verbinden".
Komisch. Vielleicht mal auf das Ikon des Skriptes neben der Uhr klicken um zu sehen, wo es beim Ablauf angekommen ist.

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.
Murphy
Member
Member
Posts: 124
Joined: 2005-02-20, 10:26 UTC

Post by *Murphy »

Nach einem Reboot funktioniert es bei mir jetzt auch. Komisch, habe nichts geändert.

Für alle Interessierten hier nochmal das vollständige AutoHotkey-Script. Egal ob über den Shortcut STRG+V, per Enter oder per Mausklick auf "Verbinden" wird danach der Dialogtitel "ftp" in "Passwort für FTP-Server "Servername"" umgeändert:

Code: Select all

#IfWinActive, ahk_class TCONNECT
!v::
      ControlClick, TButton4,,,L
      WinWait, FTP: Verbindungsdetails
      ControlGetText, TCFtp, TEdit8, FTP: Verbindungsdetails
      ControlClick, TButton5,,,L
      WinWaitActive, Mit FTP-Server verbinden
      ControlClick, TButton8,,,L
      WinWait, ftp
      WinSetTitle, ftp,,Passwort für FTP-Server "%TCFtp%"
Return

$Enter::
   ControlGet, Style, Style, , TButton8
   If (Style & 0x1)
   {
      ControlClick, TButton4,,,L
      WinWait, FTP: Verbindungsdetails
      ControlGetText, TCFtp, TEdit8, FTP: Verbindungsdetails
      ControlClick, TButton5,,,L
      WinWaitActive, Mit FTP-Server verbinden
      ControlClick, TButton8,,,L
      WinWait, ftp
      WinSetTitle, ftp,,Passwort für FTP-Server "%TCFtp%"
   }
   Else
      Send, {Enter}
return

$LButton::
   MouseGetPos, , , , Control
   IfEqual, Control, TButton8
   {
      ControlClick, TButton4
      WinWaitActive, ahk_class TDETAILS
      ControlGetText, TCFtp, TEdit8
      ControlClick, TButton5
      WinWaitActive, ahk_class TCONNECT
      ControlClick, TButton8
      WinWait, ahk_class TSTDTREEDLG
      WinSetTitle, ftp,,Passwort für FTP-Server "%TCFtp%"
   }
   Else
      Click
Return
2Hacker: Nochmals vielen Dank für deinen Support!

Grüße,
Murphy
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Murphy,
Egal ob über den Shortcut STRG+V
Alt-V. ;)
Nochmals vielen Dank für deinen Support!
Gerne. :)

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.
Post Reply