how can i open a file in a built-in lister?
Moderators: Hacker, petermad, Stefan2, white
how can i open a file in a built-in lister?
Is there the way to open file in a built-in LISTER in TCMD from command line or smth?
I don't want to use stand alone lister.
I don't want to use stand alone lister.
[face=courier]On 15-03-2003 23:04:00 +0000 poiuytr wrote:
p> Is there the way to open file in a built-in LISTER in TCMD
p> from command line or smth?
No way.[/face]
p> Is there the way to open file in a built-in LISTER in TCMD
p> from command line or smth?
No way.[/face]
[face=courier]The Protoss do NOT run from their enemies.
It is here, that we shall make our stand.[/face]
It is here, that we shall make our stand.[/face]
About command line - see prev post, about smth - you can create a button or Start Menu entry with the following command:poiuytr wrote:Is there the way to open file in a built-in LISTER in TCMD from command line or smth?
cm_List C:\Poiuytr\MyGirls.txt
and optionally assign hotkey to Start Menu entry.
Why?poiuytr wrote:I don't want to use stand alone lister.
[face=courier]On 17-03-2003 02:07:15 +0000 Valentino wrote:
V> Why?
It doesn't support plugins (?)...[/face]
V> Why?
It doesn't support plugins (?)...[/face]
[face=courier]The Protoss do NOT run from their enemies.
It is here, that we shall make our stand.[/face]
It is here, that we shall make our stand.[/face]
2Black Dog
Supports, just copy your wincmd.ini to Windows dir (only [ListerPlugins] and [Lister] sections are needed). So currently I have two INIs: main (in TC dir) and small in Win dir (just for stand-alone lister).
I already asked Christian why stand-alone Lister takes ini from there but didn't get answer...
Supports, just copy your wincmd.ini to Windows dir (only [ListerPlugins] and [Lister] sections are needed). So currently I have two INIs: main (in TC dir) and small in Win dir (just for stand-alone lister).
I already asked Christian why stand-alone Lister takes ini from there but didn't get answer...
[face=courier]On 23-02-2003 22:09:42 +0000 Valentino wrote:
V> Supports, just copy your wincmd.ini to Windows dir
Yep, I had an old version. It's my turn to ask "why" then...
[/face]
V> Supports, just copy your wincmd.ini to Windows dir
Yep, I had an old version. It's my turn to ask "why" then...

[face=courier]The Protoss do NOT run from their enemies.
It is here, that we shall make our stand.[/face]
It is here, that we shall make our stand.[/face]
It's rather strange to have one program "installed" twice (tc alredy have lister) for exactly the same purposes.Valentino wrote:Why?poiuytr wrote:I don't want to use stand alone lister.
The point is that i want to open file in lister when i press <enter> on it, but not just another button/menu command.Valentino wrote:Menu entry with the following command:
cm_List C:\Poiuytr\MyGirls.txt
So is there a way?
thanx for the answers!
"Installation" is only copying about 400k file. What is 400k nowadays?poiuytr wrote:It's rather strange to have one program "installed" twice (tc alredy have lister) for exactly the same purposes.
Enter launches associated program. If you make Enter to launch Lister, you'll get difficulties with launching EXE's for example, and other file types (doc in Word, etc). Why don't you want to use F3?poiuytr wrote:The point is that i want to open file in lister when i press <enter> on it, but not just another button/menu command. So is there a way?
If you mean opening txt files then launching stand-alone lister is much faster than rising TC (if it was possible).
[face=courier]On 17-03-2003 18:39:44 +0000 Valentino wrote:
V> "Installation" is only copying about 400k file.
Or about 160k ASPack-compressed...
Actually I see the big advantage of using stand-alone Lister, it won't close if you have to close Commander.[/face]
V> "Installation" is only copying about 400k file.
Or about 160k ASPack-compressed...
Actually I see the big advantage of using stand-alone Lister, it won't close if you have to close Commander.[/face]
[face=courier]The Protoss do NOT run from their enemies.
It is here, that we shall make our stand.[/face]
It is here, that we shall make our stand.[/face]
The key word is not "installation", the key word is twice.Valentino wrote:"Installation" is only copying about 400k file. What is 400k nowadays?poiuytr wrote: It's rather strange to have one program "installed" twice (tc alredy have lister) for exactly the same purposes.
Not 400kb nor 160k do not bothering me.
Association! I'm talking exactly about file association with builtin lister. As i can see it is impossible. Sad but true.Valentino wrote: Enter launches associated program.
I never close itBlack Dog wrote: Actually I see the big advantage of using stand-alone Lister, it won't close if you have to close Commander

You can send this message to TC to open the lister:
Then I thought, what if I set the lParam to a pointer that pointed to a string, which contained a valid filename. But no I didn't work
It would still open lister, and load the file under the cursor. All this you ask for could be done if this was possible.
Code: Select all
wm_InvokeMenuCommand=WM_USER+51;
cm_List=903;
hTotalCmd=FindWindow("TTOTAL_CMD",NULL);
SendMessage(hTotalCmd,wm_InvokeMenuCommand,cm_List,0);

Last edited by Aezay on 2004-09-30, 21:34 UTC, edited 2 times in total.
- ghisler(Author)
- Site Admin
- Posts: 50532
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
No it couldn't, because you cannot pass the DATA to which the pointer points to! It would be in a different address space (that of your program), except if you write a plugin...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
all one needs do to pass a pointer is to copy it into TC process heap using VirtualAllocEx and WriteProcessMemory, for example an AHK script:
WinGet, pid, PID, A
hProc:=DllCall("OpenProcess", "uint", 0x38, "int", 0, "uint", pid) ;PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION
pRB:=DllCall("VirtualAllocEx", "uint", hProc, "uint", 0, "uint", 300, "uint", 0x1000, "uint", 0x4) ;MEM_COMMIT, PAGE_READWRITE
DllCall("WriteProcessMemory", "uint", hProc, "uint", pRB, "str", CurFile, "uint", strlen(CurFile)+1, "uint", 0)
SendMessage, 0x433, 903, pRB,,A ; TC=active window currently
DllCall("VirtualFreeEx", "uint", hProc, "uint", pRB, "uint", 0, "uint", 0x8000)
DllCall("CloseHandle" , "uint", hProc)
Yet TC does not check currently for the parameter being passed... so no luck's here
WinGet, pid, PID, A
hProc:=DllCall("OpenProcess", "uint", 0x38, "int", 0, "uint", pid) ;PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION
pRB:=DllCall("VirtualAllocEx", "uint", hProc, "uint", 0, "uint", 300, "uint", 0x1000, "uint", 0x4) ;MEM_COMMIT, PAGE_READWRITE
DllCall("WriteProcessMemory", "uint", hProc, "uint", pRB, "str", CurFile, "uint", strlen(CurFile)+1, "uint", 0)
SendMessage, 0x433, 903, pRB,,A ; TC=active window currently
DllCall("VirtualFreeEx", "uint", hProc, "uint", pRB, "uint", 0, "uint", 0x8000)
DllCall("CloseHandle" , "uint", hProc)
Yet TC does not check currently for the parameter being passed... so no luck's here