Interface for creating TC plugins using .NET Framework

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, sheep, Hacker, Stefan2

Post Reply
OlegY
Junior Member
Junior Member
Posts: 16
Joined: 2004-01-26, 19:34 UTC
Location: Chicago, USA

Interface for creating TC plugins using .NET Framework

Post by *OlegY »

I provide new interface to create any type of Total Commander plugins using .NET Framework.

Link on totalcmd.net : http://www.totalcmd.net/plugring/TCdotNetInterface.html

Project is Open-Source, under MIT license.

Project's page on SourceForge: http://sourceforge.net/projects/tcdotnetinterface/
Full source code on SourceForge: https://sourceforge.net/p/tcdotnetinterface/code/HEAD/tree/trunk/

Detail documentation (HTML) is in loading archive.
Best regards,
Oleg Y
User avatar
Samuel
Power Member
Power Member
Posts: 1883
Joined: 2003-08-29, 15:44 UTC
Location: Brandenburg, Germany
Contact:

Post by *Samuel »

It misses the Quicksearch Plugin type: "tcmatch.dll"

Currently implementing the 2 funktions:
int __stdcall MatchFileW(WCHAR* wcFilter,WCHAR* wcFilename);
int __stdcall MatchGetSetOptions(int Status);

Example plugin: http://www.ghisler.ch/board/viewtopic.php?t=22592&start=0

I consider using this. Thank you.
OlegY
Junior Member
Junior Member
Posts: 16
Joined: 2004-01-26, 19:34 UTC
Location: Chicago, USA

Post by *OlegY »

Samuel,
Do you suggest me to add QuickSearch plugin features to the provided .NET Interface?
If yes - where can I find detail description for QiuckSerach interface?
Best regards,
Oleg Y
User avatar
Samuel
Power Member
Power Member
Posts: 1883
Joined: 2003-08-29, 15:44 UTC
Location: Brandenburg, Germany
Contact:

Post by *Samuel »

OlegY wrote:Samuel,
Do you suggest me to add QuickSearch plugin features to the provided .NET Interface?
If yes - where can I find detail description for QiuckSerach interface?
@OlegY:
Yes, this is exactly what I am proposing. (And I consider to use it myself)
The QuickSearch plugin consists of the file "tcmatch.dll" ("tcmatch64.dll") that is placed in the Total Commander folder.

Currently the interface consists only of the 2 functions:
int __stdcall MatchGetSetOptions(int Status);
int __stdcall MatchFileW(WCHAR* wcFilter,WCHAR* wcFilename);

Current "documentation":
http://www.ghisler.ch/board/viewtopic.php?p=174843#174843
http://www.ghisler.ch/board/viewtopic.php?p=173110#173110

For more you could search for tcmatch.dll in the forum.

@Christian:
Probably you should provide a short documentation, like for the other plugins.
OlegY
Junior Member
Junior Member
Posts: 16
Joined: 2004-01-26, 19:34 UTC
Location: Chicago, USA

Post by *OlegY »

Samuel,
Interface for MatchFileW in Ghisler's topic
BOOL __stdcall MatchFileW(WCHAR* Filter,WCHAR* FileName);
differs from yours
int __stdcall MatchFileW(WCHAR* wcFilter,WCHAR* wcFilename);

What result type is right: [b]int[/b] or [b]BOOL[/b]?
Best regards,
Oleg Y
User avatar
Samuel
Power Member
Power Member
Posts: 1883
Joined: 2003-08-29, 15:44 UTC
Location: Brandenburg, Germany
Contact:

Post by *Samuel »

OlegY wrote:Samuel,
Interface for MatchFileW in Ghisler's topic
BOOL __stdcall MatchFileW(WCHAR* Filter,WCHAR* FileName);
differs from yours
int __stdcall MatchFileW(WCHAR* wcFilter,WCHAR* wcFilename);

What result type is right: int or BOOL?
I know, that "int" works, as I use it in my plugin. (I return 0 or 1 only)
However, Christians plugin should work too and there is no reason to use int, so I would prefer bool there.
User avatar
tbeu
Power Member
Power Member
Posts: 1333
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Post by *tbeu »

Types int and BOOL are equal, from WinDef.h:

Code: Select all

typedef int                 BOOL;
but different from bool.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
Samuel
Power Member
Power Member
Posts: 1883
Joined: 2003-08-29, 15:44 UTC
Location: Brandenburg, Germany
Contact:

Post by *Samuel »

tbeu wrote:Types int and BOOL are equal, from WinDef.h:

Code: Select all

typedef int                 BOOL;
but different from bool.
Thanks for clarifying. Sounds reasonable.
OlegY
Junior Member
Junior Member
Posts: 16
Joined: 2004-01-26, 19:34 UTC
Location: Chicago, USA

Post by *OlegY »

Samuel,
Support for QuickSearch plugins was added to release 1.1.
Please look for release and sources on SourceForge project page.
Best regards,
Oleg Y
OlegY
Junior Member
Junior Member
Posts: 16
Joined: 2004-01-26, 19:34 UTC
Location: Chicago, USA

Post by *OlegY »

2015-02-16 Release version 1.2

Added: Lister plugins with WPF user interface.
Fixed: Incorrect work with managed plugins created with .NET Framework 4.0 and higher (CLR4).
Added: Sample lister plugin with WPF user interface.
Added: Sample FS and lister plugins for CLR4.
Best regards,
Oleg Y
JordanBauer009
Junior Member
Junior Member
Posts: 3
Joined: 2015-01-23, 12:02 UTC
Location: New York
Contact:

Post by *JordanBauer009 »

Awesome! Thanks for the new interface. Makes my life much easier.
OlegY
Junior Member
Junior Member
Posts: 16
Joined: 2004-01-26, 19:34 UTC
Location: Chicago, USA

Post by *OlegY »

Release version 1.3

Added: Lister plugins - send TC Lister shortcuts to parent window.
Fixed: Lifetime cycle problem with some plugin types.
Updated: WrapperBuilder now builds both 32- and 64-bit wrappers in one call.
Best regards,
Oleg Y
Post Reply