Interne cm_ Befehle

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
googll
Junior Member
Junior Member
Posts: 20
Joined: 2013-02-09, 08:33 UTC

Interne cm_ Befehle

Post by *googll »

Ich hätte da einen Wunsch:

ich könnte einen internen Befehl gebrauchen um die Buttonbar neu zu laden, da ich sie durch ein externes Script veränder (genauer gesagt, ich änder die Iconnummer eines Buttons). Da der TC aber die Änderung nicht mitbekommt wäre es schön, das es einen Befehl gibt um die Buttonbar neu zu laden, bzw. zu aktualisieren. Im Moment realsiere ich das mit

Code: Select all

Autoit:

		_SendMessage(WinGetHandle("[CLASS:TTOTAL_CMD]"),1075,2901)
		_SendMessage(WinGetHandle("[CLASS:TTOTAL_CMD]"),1075,2901)
Also ausblenden und wieder einblenden der Buttonbar. Geht, aber nicht so elegant, da ja 2x ein Resize des Fensters gemacht wird.


Zusätzlich suche ich noch eine Möglichkeit der Funktion cm_SpreadSelection bzw anderen internen "markieren" Befehlen zu sagen das sie OHNE das Fenster "Auswahl erweitern" entsprechende Dateien markieren, in meinem speziellen Fall hätte ich gerne durch ein Script alle Video & Audiodateien selektiert.

Christian
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2googll
Du musst Benutzerbefehle erstellen, in denen dann OPENBAR bzw. CD mit den entsprechenden Parametern benutzt werden. Die Benutzerbefehle rufst du dann von deinem Skript aus; etwa so:
http://ghisler.ch/wiki/index.php/TCUtils.cpp
User avatar
Dalai
Power Member
Power Member
Posts: 9977
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: Interne cm_ Befehle

Post by *Dalai »

googll wrote:Zusätzlich suche ich noch eine Möglichkeit der Funktion cm_SpreadSelection bzw anderen internen "markieren" Befehlen zu sagen das sie OHNE das Fenster "Auswahl erweitern" entsprechende Dateien markieren, in meinem speziellen Fall hätte ich gerne durch ein Script alle Video & Audiodateien selektiert.
Dafür gibt es direkt einen internen Befehl:

Code: Select all

SELECTFILES *.ext *.ex2
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
googll
Junior Member
Junior Member
Posts: 20
Joined: 2013-02-09, 08:33 UTC

Post by *googll »

2Lefteous

Ok, das sieht ja soweit gut aus, habe mir ein entsprechendes Skript mal angesehen und getestet. Funkt :)

Allerding hats du im Wiki auch direkt ein CD gemacht übe WM_COPYDATA. Könnte ich nicht direkt auch den SELECTFILES Befehl darüber ausführen? Alleridings bin ich mich nicht im klaren, ob das mit dem CD nur ein Sonderfall ist der als interner Befehl und WM_Copydata Message gleich ist.
Ansonsten müsste die copyStruct.dwData ja anderes aussehen oder?

Wo gibts denn überhaupt eine Liste mit den Befehlen die man über WM_COPYDATA senden kann bzw. empfangen kann? Im Changelog habe ich nur die Abfragen gefunden, die halt den aktiven Tab etc zurückgeben. Das die CD Methode übergeben werden kann hab ich so nicht gefunden...

Den Umweg über die Benutzerbefehle würde ich gerne umgehen wollen, wenn es auch ohne geht, vor allem wenn ich wie bei SELECTFILES halt die Parameter welche Dateien markiert werden soll, berechne bzw die nicht immer gleich sind (je nach Verzeichnis).

Christian
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2Dalai
SELECTFILES
Danke für die Korrektur! Wenn es um das Selektieren, nicht ums Filtern geht, ist das der richtige Befehl.

2googll
Allerding hats du im Wiki auch direkt ein CD gemacht übe WM_COPYDATA
Ja, in dem Quellcodebeispiel stehen zwei Funktionen. Relevant für dein Vorhaben ist aber nur die Funktion "sendUserCommand", nicht die Funktion "sendChangeDirectory". Ich gehe davon aus, dass nicht alle internen Befehle so verschickt werden können, wie der Verzeichniswechsel.
Den Umweg über die Benutzerbefehle würde ich gerne umgehen wollen
Vielleicht kannst du die Benutzerbefehle selbst manipulieren und sie dann aufrufen. Ich habe das aber nicht getestet. Falls der TC sie cached und nicht beim Aufruf ausliest, hättest du natürlich verloren.
googll
Junior Member
Junior Member
Posts: 20
Joined: 2013-02-09, 08:33 UTC

Post by *googll »

2Lefteous

Code: Select all

a, in dem Quellcodebeispiel stehen zwei Funktionen. Relevant für dein Vorhaben ist aber nur die Funktion "sendUserCommand", nicht die Funktion "sendChangeDirectory". Ich gehe davon aus, dass nicht alle internen Befehle so verschickt werden können, wie der Verzeichniswechsel.
Das ist mir schon klar, alledings wäre es gut zu wissen, welche Befehle über WM_COPYDATA genutzt werden können. Mit dem SendUserCommand kann ich ja die Benutzerbefehele übergeben, die dann (wahrscheinlich) das machen was ich will. Hatte auch schon überlegt ähnlich wie in der Buttonbar die Befehle in die entsprechende Datei zu schreiben. Wenn es aber nicht so umständlich geht hätte ich nichts dagegen :D
Ob der TC die Benutzerbefehle cached habe ich noch nicht probiert.... das wäre auch noch zu klären.

Christain
Post Reply