Button: Ordner Pfad im rechten Panel auflisten,anzeigen,öffn

German support forum

Moderators: sheep, Hacker, Stefan2, white

Post Reply
User avatar
Prana
Junior Member
Junior Member
Posts: 17
Joined: 2004-06-05, 16:14 UTC

Button: Ordner Pfad im rechten Panel auflisten,anzeigen,öffn

Post by *Prana »

Hallo

Ich bin was die Commands betrifft echt ein NOOB, versuche gerade einen Button zu erstellen und wenn man auf diesen druckt sollte ein Pfad im Rechten Total Commander Fenster erscheinen (im meinem Fall: "g:\_NEU PRIVATE DATEN").

Wie lässt sich so etwas bewerkstelligen. cm_RightLong listet nur den jetzigen Pfad wie kann man den verändern?

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

Post by *Stefan2 »

Hi Prana,

wenn dein Button zum Ändern geöffnet ist, drücke mal die F1-Taste, dann erhälst du...



Kommando: Viele verschiedene Befehle können in dieses Feld eingegeben werden:

1.
2.
3. Weiter können Sie einen Button zum Verzeichniswechsel einbauen,
indem Sie cd "Verzeichnisname" als Kommando angeben.
...
15.
16.





 

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

Post by *Stefan2 »

Ach so.... "im Rechten"

Das wird etwas komplizierter.
Hier benötigst du zwei Befehle; focus right und CD xyz

Man kann zwar mehrere Befehle in einem Button einbauen,
aber dieses 'CD xyz' funktioniert nicht in Kombination mit anderen Befehlen.
Hierzu muss der 'CD xyz' Befehl zuerst als Benutzerdefiniertes Kommando angelegt werden (zB mit Namen 'EM_cdxyz')

Dann kann man 'cm_FocusRight' (siehe Textdatei 'TOTALCMD.INC') und dein 'EM_cdxyz' zusammen in einem Button aufrufen:
Kommando: cm_FocusRight,em_cdxyz




Also meist besser, zuerst selbst das Panel aktivieren und nur 'CD xyz' im Button auszuführen.


BTW; 'Strg+D' kennst du?





 

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

Ordnerpfad im rechten Fenster anzeigen

Post by *tuska »

Hier gibt's noch eine Schritt-für-Schritt Anleitung:

1.   Erstelle ein em_Kommando
1.1 Gib cm_CommandBrowser in der Kommandozeile von TC ein und drücke die <ENTER>-Taste
1.2 Wähle unter "Kategorie:" den Eintrag "usercmd.ini" aus indem Du ihn anklickst
1.3 Klicke auf Button "Neu": und gib einen Namen für das em_Kommando ein, zB em_g_NEU_PRIVATE_DATEN
1.4 Im Kommando-Feld gibst Du folgendes ein: cd g:\_NEU PRIVATE DATEN
1.5 OK, OK - FERTIG (mit der Erstellung des em_Kommandos)

2.   Erstelle einen Button
2.1 Tätige einen Rechtsklick auf einen freien Platz in der Buttonbar
2.2 Wähle dann den Menüeintrag "Ändern..." aus in dem Du ihn anklickst
2.3 Klicke auf den Button "Anfügen"
2.4 Gib nun als Kommando folgendes ein: cm_FocusRight,em_g_NEU_PRIVATE_DATEN,cm_FocusTrg
2.5 Klicke in das Feld "Icondatei:" und gib zB wcmicons.dll ein, wähle das gewünschte Icon aus...
2.6 Klicke in das Feld "Tooltip:" und gib zB folgendes ein:
2.6 cm_FocusRight,em_g_NEU_PRIVATE_DATEN,cm_FocusTrg|https://ghisler.ch/board/viewtopic.php?t=49322|Ordner-Pfad im rechten Fenster anzeigen
2.7 OK - FERTIG (mit der Erstellung des Buttons); wenn Du etwas länger auf den Button zeigst erscheint der Tooltip

Ergebnis:
Wenn Du den Button anklickst, dann
a) ist immer das linke Fenster aktiv
b) wird im rechten Fenster immer der Pfad g:\_NEU PRIVATE DATEN angezeigt

Alternative:
Wenn Du im rechten TC-Fenster gleich in das Verzeichnis g:\_NEU PRIVATE DATEN wechseln möchtest (rechtes Fenster aktiv)
dann verwende beim Button dieses Kommando: cm_FocusRight,em_g_NEU_PRIVATE_DATEN

Erläuterung:
- cd 'change directory', wechsle in das Verzeichnis
- cm_FocusRight 4002 Fokus auf rechte Dateiliste
- cm_FocusTrg 4006 Fokus auf Zieldateiliste

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

VBScript: SendMessage

Post by *Stefan2 »

Proof of concept :D 8)


Alles in einem VBSkript

(Nachteil, die Ausführungsgeschwindigkeit ist sehr langsam, hier ca. 5 Sekunden wg. Word-Instanz oder Antivirusprogramm.
Schneller ist hier ein AHK-Skript, dies benötigt aber die AutoHotkey.exe, diese lohnt sich aber auf lange Sicht)

Code: Select all

'// SET FOCUS
'cm_FocusLeft=4001;Focus on left file list
'cm_FocusRight=4002;Focus on right file list
'cm_FocusCmdLine=4003;Focus on command line

'SendMessage lpWinTitle,intMSG,intCMD,0
SendMessage "Total Commander",1075,4002,0	'cm_FocusRigh
SendMessage "Total Commander",1075,4003,0	'cm_FocusCmdLine


'// SEND KEYs
'https://ss64.com/vb/sendkeys.html
Set WshShell = WScript.CreateObject("WScript.Shell")
'WshShell.SendKeys "Character_string_and/or_SendKeys"
sPATH= "g:\_NEU PRIVATE DATEN"
WshShell.SendKeys "CD " & sPATH & "{ENTER}"


'// SET FOCUS back to left
'cm_FocusTrg=4006;Focus on target file list  TAB-Taste switch panels
SendMessage "Total Commander",1075,4006,0	'cm_FocusTrg


'//--------------------------------------------------------
'//-------------------------------------------------------- HELPER function
'//--------------------------------------------------------
'VBScript SendMessage
'http://demon.tw/copy-paste/vbs-sendmessage.html
'BY Coo_boi
Function SendMessage(lpWinTitle,wMsg,wParam,lParam)
	Dim WordApp,ShApp,colTask,oTask
	Set WordApp=CreateObject("Word.Application")
	Set colTask=wordapp.Tasks
	SendMessage=False
	For Each oTask In colTask
		If oTask.Visible And InStr(oTask.Name,lpWinTitle) Then
			oTask.SendWindowMessage wMsg,wParam,lParam
			SendMessage=True
			Exit For 
		End If
	Next
	WordApp.Quit
	Set WordApp=Nothing
End Function
'//--------------------------------------------------------




 

User avatar
Prana
Junior Member
Junior Member
Posts: 17
Joined: 2004-06-05, 16:14 UTC

Post by *Prana »

Danke euch hat super geklappt... vor allem mit tuska Anleitung ist es relativ DAU sicher :)

User avatar
HenryTC
Junior Member
Junior Member
Posts: 10
Joined: 2017-07-15, 23:30 UTC

Re: Button: Ordner Pfad im rechten Panel auflisten,anzeigen,öffn

Post by *HenryTC »

Hallo

Dieser Thread ist wirklich sehr hilfreich. Habe im Forum lange danach gesucht.

Nebenfrage: BTW, welches ist für die Suche die bessere Bezeichnung, z.B. das rechte Fenster, die rechte Dateiliste oder das rechte Panel?

Hauptfrage (tuska, Zeile 2.4): Welche Bedeutung kommt hier dem Kommando-Ende "cm_FocusTrg" genau zu?

Ich habe den Befehl mit und ohne diesen Zusatz geschrieben und nach seiner Ausführung keinen Unterschied festgestellt.

MFG HenryTC

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

Re: Button: Ordner Pfad im rechten Panel auflisten,anzeigen,öffn

Post by *tuska »

HenryTC wrote:Nebenfrage: BTW, welches ist für die Suche die bessere Bezeichnung, z.B. das rechte Fenster, die rechte Dateiliste oder das rechte Panel?
Ich denke, die Begriffsbezeichnung sollte man nicht "so streng" nehmen, sofern für andere Forumsuser erkennbar ist,
dass es sich in Total Commander um die rechte Fensterseite handelt.
HenryTC wrote:Hauptfrage (tuska, Zeile 2.4): Welche Bedeutung kommt hier dem Kommando-Ende "cm_FocusTrg" genau zu?
Ich habe den Befehl mit und ohne diesen Zusatz geschrieben und nach seiner Ausführung keinen Unterschied festgestellt.
Bei dem Kommando: cm_FocusRight,em_g_NEU_PRIVATE_DATEN,cm_FocusTrg handelt es sich um einen zusammengesetzten Befehl,
der von links nach rechts abgearbeitet wird.

Somit wird bei Ausführung dieses Kommandos als letztes "cm_FocusTrg" durchgeführt.

Wenn Du zB in der Kommandozeile von TC cm_CommandBrowser eingibst und danach <ENTER> drückst,
kannst Du unten im Feld "Filter" den Befehl cm_FocusTrg eingeben und Du erhältst folgendes:

Code: Select all

cm_FocusTrg	4006	Fokus auf Zieldateiliste
Wenn - wie in obigem Beispiel - der Fokus im rechten TC-Fenster ist [cm_FocusRight,em_g_NEU_PRIVATE_DATEN]
und Du zB in der Kommandozeile von TC den Befehl cm_FocusTrg eingibst und <ENTER> drückst,
erhält das linke TC-Fenster den Fokus.

Bei dem Befehl "cm_FocusTrg" erhält immer das gegenüberliegende TC-Fenster den Fokus.
Gruß,
Karl

Post Reply