Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Context Menu "Open With"

Jul
304
0
Maybe I'm just not seeing it, but is there a way to have an "open with" on a right-click menu for files in Take Command?

Regards,
Chuck Billow
 
The shell integrate thing that comes with 4nt does this for cmd files as well as btm files. I use it to run EXTPROC batches under cmd.exe shell.

You may look at http://www.maddogsw.com/cmdutils/ , which has utilities for context and propsfor, which opens the context menu, and properties sheet for any file it is "sent to", ie context myfile.jpg will open the properties sheet for that app.
 
The shell integrate thing that comes with 4nt does this for cmd files as well as btm files. I use it to run EXTPROC batches under cmd.exe shell.

You may look at http://www.maddogsw.com/cmdutils/ , which has utilities for context and propsfor, which opens the context menu, and properties sheet for any file it is "sent to", ie context myfile.jpg will open the properties sheet for that app.

I will...thanks.

Regards,
Chuck
 
Maybe I'm just not seeing it, but is there a way to have an "open with" on a right-click menu for files in Take Command?

Regards,
Chuck Billow
As far as I know you get the same context menu in TCMD that you get in Explorer. I doubt there's any way to change that (because TCMD uses Explorer).
 
Off-topic, new to me, and mildly interesting ... Windows 10 has OPENWITH.EXE which will present a GUI app selector ... prettier than the "Open with" context menu but with the same apps. OPENWITH.EXE's notion of current directory is your profile directory, so give it a full path to the target file.

My SYSUTILS plugin has SHELLEX, which can invoke registered verbs (plus "Properties") and PROPS which is just a wrapper for "shellex /c /v properties". SHELLEX fails (no surprise) when given "Open with". So I thought I'd try to figure out the "Open with" mechanism. Using ProcessMonitor, right-clicking a txtfile caused about 6500 registry events to be recorded. Moving the mouse to "Open with" (which expands itself) gave another 3000 events. I gave up.
 
This works too (only tested on Win7).
Code:
 echo %@winapi[shell32.dll,OpenAs_RunDLLW,NULL,NULL,v:\savedcommands.txt,0]
 
This works too (only tested on Win7).
Code:
 echo %@winapi[shell32.dll,OpenAs_RunDLLW,NULL,NULL,v:\savedcommands.txt,0]
And it doesn't work on Win10. It just fails silently. I'm very curious about why it fails. I couldn't find a signature for OpenAs_RunDLLW online. I dug it out of the SHELL32.PDB in the symbols directory for WinDBG on Win7. It looks like this (with its translation).

Code:
v:\> undecorate ?OpenAs_RunDLLW@@YGXPAUHWND__@@PAUHINSTANCE__@@PBGH@Z
void __stdcall OpenAs_RunDLLW(struct HWND__ *,struct HINSTANCE__ *,unsigned short const *,int)

I can't do the same on Win10. Can anyone determine the signature of OpenAs_RunDLLW on Win10?
 
I can't do the same on Win10. Can anyone determine the signature of OpenAs_RunDLLW on Win10?

Never mind; I got it. It's the 64-bit version of the same thing.
Code:
v:\> undecorate ?OpenAs_RunDLLW@@YAXPEAUHWND__@@PEAUHINSTANCE__@@PEBGH@Z
void __cdecl OpenAs_RunDLLW(struct HWND__ * __ptr64,struct HINSTANCE__ * __ptr64,unsigned short const * __ptr64,int)

But it's __cdecl. And @CAPI doesn't work! Hmmm! ... I wonder why.
 

Similar threads

Back
Top