AutoHotkey: Schicke einen Befehl an den Total Commander: Unterschied zwischen den Versionen

Aus TCWikide
Zur Navigation springen Zur Suche springen
K (Typo)
(Parameter zum warten)
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
Dieses Script '''muss''' unter dem Namen  '''SendTCCommand.ahk''' gespeichert werden, damit es funktioniert.  
Dieses Script '''muss''' unter dem Namen  '''SendTCCommand.ahk''' gespeichert werden, damit es funktioniert.  
Wenn das Script kompiliert wird (nachdem es gespeichert wurde einfach im Kontextmenü 'compile script' auswählen), ist der Aufruf noch einfacher und es funktioniert auch auf Rechnern, auf denen Autohotkey nicht installiert ist.
Wenn das Script kompiliert wird (nachdem es gespeichert wurde einfach im Kontextmenü 'compile script' auswählen), ist der Aufruf noch einfacher und es funktioniert auch auf Rechnern, auf denen Autohotkey nicht installiert ist.  
 
[http://rapidshare.de/users/9PRTP Hier] kann man das kompilierte Script herunterladen. ''(Da dies ein kostenloser Webhoster ist, muss die Datei von Zeit zu Zeit aktiviert werden. Sollte die Datei also nicht mehr zur Verfügung stehen, bitte eine kurze Mail an sheepdog at gmx dot net mit dem Betreff Total Commander.)''


  ; Script Name: SendTCCommand.ahk
  ; Script Name: SendTCCommand.ahk
Zeile 19: Zeile 21:
   
   
  ;
  ;
  ; SendTCCommand 0.1
  ; SendTCCommand 0.2
  ;
  ;
  ; Zweck der Funktion:
  ; Zweck der Funktion:
Zeile 30: Zeile 32:
  ;    xsTCCommand: Die internen Befehle des Total Commander, eine Liste ist hier:
  ;    xsTCCommand: Die internen Befehle des Total Commander, eine Liste ist hier:
  ;                %COMMANDER_PATH%\TOTALCMD.INC
  ;                %COMMANDER_PATH%\TOTALCMD.INC
  ;   zu finden.         
  ;                 zu finden.         
;    xbWait:      Ob die funktion warten soll bis TC den kommando ausführt
  ;
  ;
  ; Beispiel:
  ; Beispiel:
Zeile 36: Zeile 39:
  ;
  ;
   
   
  SendTCCommand( xsTCCommand )
  SendTCCommand( xsTCCommand, xbWait=1 )
  {
  {
  loop Read, %COMMANDER_PATH%\TOTALCMD.INC
  loop Read, %COMMANDER_PATH%\TOTALCMD.INC
Zeile 48: Zeile 51:
  }
  }
   
   
  if (asCommandsValues1 > 0)
  if !(asCommandsValues1 > 0)
return
if (xbWait)
SendMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD
else
  PostMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD
  PostMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD
  }
  }

Aktuelle Version vom 13. Juni 2006, 13:19 Uhr

Dieses Script muss unter dem Namen SendTCCommand.ahk gespeichert werden, damit es funktioniert. Wenn das Script kompiliert wird (nachdem es gespeichert wurde einfach im Kontextmenü 'compile script' auswählen), ist der Aufruf noch einfacher und es funktioniert auch auf Rechnern, auf denen Autohotkey nicht installiert ist.

Hier kann man das kompilierte Script herunterladen. (Da dies ein kostenloser Webhoster ist, muss die Datei von Zeit zu Zeit aktiviert werden. Sollte die Datei also nicht mehr zur Verfügung stehen, bitte eine kurze Mail an sheepdog at gmx dot net mit dem Betreff Total Commander.)

; Script Name: SendTCCommand.ahk

; Sendet einen internen Befehl des Total Commander an eine TC Instanz.
; Kann zum Beispiel im Taskplaner genutzt werden.

 
; Gib den TC Befehl als Kommandozeielenparameter an, z.B.:
;   AutoHotkey.exe SendTCCommand.ahk cm_FtpNew
; Oder wenn das Script kompiliert ist:
;   SendTCCommand.exe cm_FtpNew
 

sCmdParam = %1%
SendTCCommand( sCmdParam )
Return

;
; SendTCCommand 0.2
;
; Zweck der Funktion:
;    Sendet einen der internen Total Commander Befehle (siehen Totalcmd.inc) 
;    an eine TC Instanz . 
;    Kann benutzt werden, um Total Commander zu automatisieren.
;
;
; Parameter:
;    xsTCCommand: Die internen Befehle des Total Commander, eine Liste ist hier:
;                 %COMMANDER_PATH%\TOTALCMD.INC
;                 zu finden.         
;    xbWait:      Ob die funktion warten soll bis TC den kommando ausführt
;
; Beispiel:
;	SendTCCommand( "cm_RereadSource" )
;

SendTCCommand( xsTCCommand, xbWait=1 )
{
	loop Read, %COMMANDER_PATH%\TOTALCMD.INC
	{
		StringSplit asCommands, A_LoopReadLine, =
		if (asCommands1 = xsTCCommand)
		{
			StringSplit asCommandsValues, asCommands2, `;
			Break
		}
	}

	if !(asCommandsValues1 > 0)
		return
	
	if (xbWait)
		SendMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD
	else
		PostMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD
}




->Zurück zu AutoHotkey