Hallo allerseits, dies ist mein erster Beitrag hier im Forum, ich grüße alle TC Fans.
Da ich mich seit kurzem mit AHK-Scripts beschäftige, habe ich mir das Problem mal angesehen.
Zunächst aber mal eine Frage an tobsen: Was spricht dagegen den TC zu starten und neben dem "Vergleich nach Inhalt" auch die vielen anderen hilfreichen Funktionen zu nutzen?
Aber nun zum Thema:
Ich glaube ein Übergabe der Paramter an den TC beim Starten hilft hier nicht.
Eine Möglichkeit wäre, ein AHK-Script erstellen, dem man 2 Parameter übergibt (die zu vergleichenden Dateien).
Das Script startet den TC, aktiviert die "Vergleich nach Inhalt"-Seite, trägt beide Dateinamen ein und startet den Vergleich.
Den TC beenden muss man dann aber manuell.
Hier ein Script, das vielleicht weiterhilft:
Code: Select all
if 0 < 2
{
MsgBox, parameter missing, syntax: AHKScriptName.exe <path\file1> <path\file2>
return
}
else
{
par1 = %1%
par2 = %2%
}
IfWinNotExist, ahk_class TTOTAL_CMD
{
regread, TC, hkey_Current_User,Software\ghisler\Total Commander,installDir
if TC
{
run totalcmd.exe ,%tc%
WinWaitActive ahk_class TTOTAL_CMD
}
else
{
MsgBox, cannot start TC, may be TC is not installed
return
}
}
else
{
WinActivate, ahk_class TTOTAL_CMD
}
IfWinActive, ahk_class TTOTAL_CMD
{
PostMessage, 1075, 2022, , , ahk_class TTOTAL_CMD
WinWaitActive ahk_class TFileCompForm
IfWinActive, ahk_class TFileCompForm
{
Send +{TAB 4}
sendRaw %par1%
Send {TAB 2}
sendRaw %par2%
send !v
}
}
return
Die Abfrage "if 0 < 2" prüft, ob 2 Parameter an das Script übergeben wurden, wenn nicht, gibt es eine Fehlermeldung.
Die beiden übergebenen Parameter (jeweils Pfad\Dateiname der zu vergleichenden Dateien) werden als par1 und par2 gespeichert. Dann wird TC gestartet, die "Vergleich nach Inhalt"-Seite aktiviert, die zu vergleichenden Dateinamen eingetragen und der Vergleich gestartet.
Falls Pfad oder Dateiname Leerzeichen enthalten, dann die Parameter in Hochkommas einschließen a la "Pfad\Dateiname"
MfG
TWatcher