Context Menu Changes Based on File Type

Found a bug in "Everything"? report it here
Post Reply
therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Context Menu Changes Based on File Type

Post by therube » Thu Apr 18, 2019 11:41 am

Oh, not sure what the issue is here, or even if it is an Everything issue?
Win7 x64. Everything x86. HashMyFiles x86 or x64 (doesn't seem to make a difference).


Context Menu Changes Based on File Type... or something like that...


Nirsoft: HashMyFiles
Download, unzip, enable the Option, 'Enable Explorer Context Menu'.

Everything:

Select a single .zip file.
Right-click, hashmyfiles.
All OK.

Select two .zip files.
Right-click, hashmyfiles.
HashMyFiles does not show in context menu?

Select a single .zip & a .txt file.
Have "focus" on the .txt file.
Right-click, hashmyfiles.
All OK.

Select a single .zip & a .txt file.
Have "focus" on the .zip file.
Right-click, hashmyfiles.
HashMyFiles does not show in context menu?


Issue does not exist in Windows Explorer or Salamander x64.

Similar behavior can be seen with other programs that populate the context-menu, like Vim.


(HashMyFiles is not my primary file hasher, but I cannot imagine, that I hadn't run into this before, but it must be so?)


Also...


I'll note that you cannot drag&drop from Everything x86 into HashMyFiles (regardless of bitness [& I have not tested with Everything x64]).

This is not the first time there have been issues with HashMyFiles:
viewtopic.php?p=10703#p10703
viewtopic.php?p=12681#p12681


Everything (& Vim) context menu items missing when the .zip file has focus.
Image

With Salamander. And note that Vim icons do not display (though they are "there" [you can "see" their "placemaker" if you scroll over their context-menu word, text].)
Image

Windows Explorer, all looks good.
Image

NotNull
Posts: 1241
Joined: Wed May 24, 2017 9:22 pm

Re: Context Menu Changes Based on File Type

Post by NotNull » Thu Apr 18, 2019 2:35 pm

From NirSoft's HasMyFiles webpage:
Notice: Static menu items of Explorer do not support multiple file selection. If you want to get the hash of multiple files from Explorer window, use Copy & Explorer Paste, or drag the files into the HashMyFiles window.
( I bet HashMyFiles registers itself under HKCR\*\Shell (static) instead of HKCR\*\ShellEx (dynamic) ) and thus doesn't handle multiple file selections appropriate.


Further: Everything handles multiple file selections differnt from Explorer:
Where Explorer runs the associated program with all files as parameter (program.exe file1 file2 file3), Everything runs program.exe 3 times; each with 1 file as parameter.
It is on the ToDo list to change that behaviour (when appropriate; when files should be opened with the same program)


Strange thing though that Everything didn't start multiple instances of HashMyFiles. That's what I would expect (without looking into HashMyFiles)

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Thu Apr 18, 2019 7:43 pm

(HashMyFiles is not my primary file hasher, but I cannot imagine, that I hadn't run into this before, but it must be so?)
On XP:

I'm not seeing this ("zip" file) issue, & I'm far more likely to use HashMyFiles on XP compared to Win7.
Cannot d&d from Everything to HashMyFiles (on par with Win7).
I get no context-menu icon on XP - which is what the latest change to HashMyFiles did, add an icon. (Icon does display in Win7.)
(Vim's icon does display. [Though it is rightmost, in the left margin, rather then leftmost, where it would seem it should be.]
Vim's icon does not display from within Salamander, context-menu. [Icon does not display, but the menu-items are there.])

I bet HashMyFiles registers itself under HKCR\*\Shell (static) instead of HKCR\*\ShellEx (dynamic)
HKCR\*\shell\HashMyFiles\command (on XP & Win10).
(Don't get the idea that simply adding HashMyFiles to \shellex\ will work, it doesn't. Ask me how I know ;-).)


On my end (on XP) HKEY_CLASSES_ROOT\*\shellex has; gvim & HardLinkMenu (among others).


Where Explorer runs the associated program with all files as parameter (program.exe file1 file2 file3), Everything runs program.exe 3 times; each with 1 file as parameter.
It is on the ToDo list to change that behaviour (when appropriate; when files should be opened with the same program)

Strange thing though that Everything didn't start multiple instances of HashMyFiles. That's what I would expect (without looking into HashMyFiles)
Well it does, kind of, & again possibly differing by OS.
On Win7, where more recently I've started using HashMyFiles more often, the first, second, third... time you do a HashMyFiles, you do actually get multiple instances. But after the first, second, third... "initiation" of HashMyFiles, it then will send multiple files to a single HashMyFiles instance.

XP, files are always sent in a single instance.

In both OS, you get 1 more file then wanted.
(It's actually that one of the files is hashed, twice [or at the least, displays twice].)

NotNull
Posts: 1241
Joined: Wed May 24, 2017 9:22 pm

Re: Context Menu Changes Based on File Type

Post by NotNull » Thu Apr 18, 2019 8:53 pm

This sounds rather strange all in all (= Interesting! :)). Will test HashMyFiles to see what's going on.

NotNull
Posts: 1241
Joined: Wed May 24, 2017 9:22 pm

Re: Context Menu Changes Based on File Type

Post by NotNull » Thu Apr 18, 2019 9:35 pm

I'm seeing the same behaviour.
You can make Everything work with HasMyFiles by configuring this in your Everything.ini:

Code: Select all

allow_window_message_filter_dragdrop=1
Selecting multiple files will open multiple HasMyFiles windows though (but that was expected)

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Sat Apr 20, 2019 4:00 am

What is shown in the debug console when you right click two zip files?

I suspect a context menu handler is throwing an exception? it appears to work ok here (Windows 7 x64/Everything 1.4.1.935 x86/x64).

I seem to only get one instance of HashMyFiles when launched from Everything x64 and multiple instances when launched from Everything x86.
From Everything x64 I get duplicated entries as excepted.

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Sat Apr 20, 2019 11:09 am

(Win7 x64, Everything x86)


1. two zip
2. one zip & one dc, zip has focus
3. one zip & one dc, dc has focus


1.

Code: Select all

Everything
Version 1.4.1.938 (x86)
Windows NT 6.1
Processors 4
IsAdmin 0
AppData 0
Service 1
cmdline "C:\DEV\Locate\Everything.exe"
WM_ACTIVATE 00000000 00000000, lastfocus 007a0f96, current focus 007a0f96
WM_ACTIVATE 00000001 00000000, lastfocus 007a0f96, current focus 00000000
ParseDisplayName H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name OK
bind to parent
parse display name H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip
parse display name OK
bind to parent
get menu 2 2
_fndfmcb 3 0 0
got menu 183377480
got menu 1
menu type 3
QueryContextMenu...
_fndfmcb 18 16 1635756
_fndfmcb 1 16 1635760
_fndfmcb 17 16 1635760
_fndfmcb 10 16 1635760
QueryContextMenu 00000055
track menu 07d00fdd
WM_INITMENUPOP 07d00fdd 00000000
_fndfmcb 8 131076061 28
menu count 25
wid 6: 78 (0000004d)
00000000
VERB open
wid 6: 83 (00000052)
00000000
VERB sandbox
wid 7: 84 (00000053)
00000000
VERB Search Everything...
wid 8: 85 (00000054)
00000000
VERB TreeSize Free
wid 10: 77 (0000004c)
00000000
VERB extract
wid 12: 76 (0000004b)
00000000
VERB PickLinkSource
wid 13: 32765 (00007ffc)
80070057
menu item info fail 87
wid 15: 32764 (00007ffb)
80070057
wid 16: 25 (00000018)
00000000
VERB cut
wid 17: 26 (00000019)
00000000
VERB copy
menu item info fail 87
wid 19: 17 (00000010)
00000000
VERB link
wid 20: 18 (00000011)
00000000
VERB delete
wid 21: 19 (00000012)
00000000
VERB rename
wid 22: 32766 (00007ffd)
80070057
wid 23: 20 (00000013)
00000000
VERB properties
rem dbl sep
WM_SELECT ffff0000 00000000 07d00fdd
idCommand 0
_fndfmcb 4 27 0
WM_ACTIVATE 00000000 00000000, lastfocus 007a0f96, current focus 007a0f96
2.

Code: Select all

Everything
Version 1.4.1.938 (x86)
Windows NT 6.1
Processors 4
IsAdmin 0
AppData 0
Service 1
cmdline "C:\DEV\Locate\Everything.exe"
WM_ACTIVATE 00000000 00000000, lastfocus 007a0f96, current focus 007a0f96
WM_ACTIVATE 00000002 00000000, lastfocus 007a0f96, current focus 00000000
SYSCOMMAND 0000f012 01ca042e
ParseDisplayName H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name OK
bind to parent
parse display name H:\_SONNY\SEAGATE\COPY_FROM_OFFICE\_LARRY\My Documents\DeltaC
ad\'    Cancer Survivors Park\COORD1.DC
parse display name OK
bind to parent
get menu 2 2
_fndfmcb 3 0 0
got menu 183377480
got menu 1
menu type 3
QueryContextMenu...
_fndfmcb 18 16 1635756
_fndfmcb 1 16 1635760
_fndfmcb 17 16 1635760
_fndfmcb 10 16 1635760
QueryContextMenu 00000055
track menu 00bd0d6c
WM_INITMENUPOP 00bd0d6c 00000000
_fndfmcb 8 12389740 28
menu count 23
wid 6: 78 (0000004d)
00000000
VERB open
wid 6: 83 (00000052)
00000000
VERB sandbox
wid 8: 77 (0000004c)
00000000
VERB extract
wid 10: 76 (0000004b)
00000000
VERB PickLinkSource
wid 11: 32765 (00007ffc)
80070057
menu item info fail 87
wid 13: 32764 (00007ffb)
80070057
wid 14: 25 (00000018)
00000000
VERB cut
wid 15: 26 (00000019)
00000000
VERB copy
menu item info fail 87
wid 17: 17 (00000010)
00000000
VERB link
wid 18: 18 (00000011)
00000000
VERB delete
wid 19: 19 (00000012)
00000000
VERB rename
wid 20: 32766 (00007ffd)
80070057
wid 21: 20 (00000013)
00000000
VERB properties
rem dbl sep
WM_SELECT ffff0000 00000000 00bd0d6c
idCommand 0
_fndfmcb 4 27 0
WM_ACTIVATE 00000000 00000000, lastfocus 007a0f96, current focus 007a0f96
3.

Code: Select all

Everything
Version 1.4.1.938 (x86)
Windows NT 6.1
Processors 4
IsAdmin 0
AppData 0
Service 1
cmdline "C:\DEV\Locate\Everything.exe"
WM_ACTIVATE 00000000 00000000, lastfocus 007a0f96, current focus 007a0f96
WM_ACTIVATE 00000001 00000000, lastfocus 007a0f96, current focus 00000000
SYSCOMMAND 0000f095 01d50422
WM_SELECT ffff0000 00000000 00000000
ParseDisplayName H:\_SONNY\SEAGATE\COPY_FROM_OFFICE\_LARRY\My Documents\DeltaCad
\'    Cancer Survivors Park\COORD1.DC
parse display name H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name OK
bind to parent
parse display name H:\_SONNY\SEAGATE\COPY_FROM_OFFICE\_LARRY\My Documents\DeltaC
ad\'    Cancer Survivors Park\COORD1.DC
parse display name OK
bind to parent
get menu 2 2
_fndfmcb 3 0 0
got menu 183377480
got menu 1
menu type 3
QueryContextMenu...
_fndfmcb 18 16 1635756
_fndfmcb 1 16 1635760
_fndfmcb 17 16 1635760
_fndfmcb 14 0 1635512
_fndfmcb 10 16 1635760
QueryContextMenu 00000057
track menu 0b5a0945
WM_INITMENUPOP 0b5a0945 00000000
_fndfmcb 8 190449989 28
menu count 26
wid 6: 85 (00000054)
00000000
VERB HashMyFiles
wid 7: 87 (00000056)
00000000
VERB sandbox
wid 8: 79 (0000004e)
80070057
wid 9: 80 (0000004f)
80070057
wid 10: 81 (00000050)
80070057
wid 11: 82 (00000051)
80070057
wid 12: 83 (00000052)
80070057
wid 14: 78 (0000004d)
00000000
VERB PickLinkSource
wid 15: 32765 (00007ffc)
80070057
menu item info fail 87
wid 17: 32764 (00007ffb)
80070057
wid 18: 25 (00000018)
00000000
VERB cut
wid 19: 26 (00000019)
00000000
VERB copy
menu item info fail 87
wid 21: 17 (00000010)
00000000
VERB link
wid 22: 18 (00000011)
00000000
VERB delete
wid 23: 19 (00000012)
00000000
VERB rename
wid 24: 32766 (00007ffd)
80070057
wid 25: 20 (00000013)
00000000
VERB properties
rem dbl sep
WM_SELECT ffff0000 00000000 0b5a0945
idCommand 0
_fndfmcb 4 27 0
WM_ACTIVATE 00000000 00000000, lastfocus 007a0f96, current focus 007a0f96
Image

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Sun Apr 21, 2019 2:41 am

Thanks for the debug logs.

When you right click a zip file in Everything, what does "Extract All..." do ? -What program is this?
Does clicking on two txt files show HashMyFiles? -Maybe this is zip files issue only?

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Sun Apr 21, 2019 11:42 am

When you right click a zip file in Everything, what does "Extract All..." do ? -What program is this?
Isn't that going to be Windows (7) itself? (I've never used it myself.)

Compressed (zipped) Folder Context Menu
E:\Windows\system32\zipfldr.dll
{b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}
How to Add or Remove Extract All Context Menu for ZIP Files in Windows
Screenshot, Screenshot 6, of the dialog.
Does clicking on two txt files show HashMyFiles?
Yes.
Maybe this is zip files issue only?
It is the only place I've noticed it, so far.
Multiple .zip or a .zip & something else, where "focus" is on the .zip.


so far
(Windows) .cab files are similarly affected.

E:\Windows\Explorer.exe
HKEY_CLASSES_ROOT\CABFolder\shell\find\Command

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Mon Apr 22, 2019 7:51 am

Isn't that going to be Windows (7) itself? (I've never used it myself.)
Yes it's the built in Windows 7 zip extract, forgot I had disabled it on my dev PC.

I'm able to reproduce the issue if I force IQueryAssociations::GetKey to fail with ASSOCKEY_BASECLASS, basically meaning there might be an issue with Everything reading the baseclass for an extension from the registry.

Everything doesn't log any information about IQueryAssociation failures, so I've added this to Everything 1.4.1.940:
Everything-1.4.1.940.x64.zip
Everything-1.4.1.940.x86.zip

Could you please try Everything 1.4.1.940, what is shown in the debug console when you right click on two selected zip files?
IQueryAssociation logs should be shown in Magenta:
AssocCreate 0 C:\dev\everything\voidtools\Everything-1.4.1.940.x64.zip .zip
AssocCreate OK
AssocCreate Init 00000000
AssocCreate GetKey ASSOCF_IGNOREBASECLASS 00000000
AssocCreate GetKey ASSOCKEY_BASECLASS 00000000

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Mon Apr 22, 2019 11:41 am

Win7 x64, Everything x86.

Code: Select all

.zip .zip
Your example has an oddity like that (assuming you didn't name the file .zip .zip).
Oh, I see, they must just be different fields, so should be OK.

Code: Select all

AssocCreate 0 H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip .zip
AssocCreate OK
AssocCreate Init 00000000
AssocCreate GetKey ASSOCF_IGNOREBASECLASS 00000000
AssocCreate GetKey ASSOCKEY_BASECLASS 00000000

Code: Select all

Everything
Version 1.4.1.940 (x86)
Windows NT 6.1
Processors 4
IsAdmin 0
AppData 0
Service 1
cmdline "C:\DEV\Locate\Everything.exe"
WM_ACTIVATE 00000000 00000000, lastfocus 007e0eba, current focus 007e0eba
WM_ACTIVATE 00000001 00000000, lastfocus 007e0eba, current focus 00000000
AssocCreate 0 H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip .zip
AssocCreate OK
AssocCreate Init 00000000
AssocCreate GetKey ASSOCF_IGNOREBASECLASS 00000000
AssocCreate GetKey ASSOCKEY_BASECLASS 00000000
ParseDisplayName H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip
parse display name H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name OK
bind to parent
parse display name H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip
parse display name OK
bind to parent
get menu 2 2
_fndfmcb 3 0 0
got menu 176552752
got menu 1
menu type 3
QueryContextMenu...
_fndfmcb 18 16 1635756
_fndfmcb 1 16 1635760
_fndfmcb 17 16 1635760
_fndfmcb 10 16 1635760
QueryContextMenu 00000055
track menu 05c20f9d
WM_INITMENUPOP 05c20f9d 00000000
_fndfmcb 8 96604061 28
menu count 25
wid 6: 78 (0000004d)
00000000
VERB open
wid 6: 83 (00000052)
00000000
VERB sandbox
wid 7: 84 (00000053)
00000000
VERB Search Everything...
wid 8: 85 (00000054)
00000000
VERB TreeSize Free
wid 10: 77 (0000004c)
00000000
VERB extract
wid 12: 76 (0000004b)
00000000
VERB PickLinkSource
wid 13: 32765 (00007ffc)
80070057
menu item info fail 87
wid 15: 32764 (00007ffb)
80070057
wid 16: 25 (00000018)
00000000
VERB cut
wid 17: 26 (00000019)
00000000
VERB copy
menu item info fail 87
wid 19: 17 (00000010)
00000000
VERB link
wid 20: 18 (00000011)
00000000
VERB delete
wid 21: 19 (00000012)
00000000
VERB rename
wid 22: 32766 (00007ffd)
80070057
wid 23: 20 (00000013)
00000000
VERB properties
rem dbl sep
WM_SELECT ffff0000 00000000 05c20f9d
idCommand 0
_fndfmcb 4 27 0
WM_ACTIVATE 00000000 00000000, lastfocus 002e05a0, current focus 002e05a0
Everything x64.
x64 has a "wid 14:" entry, whatever that is, not found in x86.

Code: Select all

Everything
Version 1.4.1.940 (x64)
Windows NT 6.1
Processors 4
IsAdmin 0
AppData 0
Service 1
cmdline "C:\DEV\Locate\Everything.exe"
WM_ACTIVATE 0000000000000000 0000000000000000, lastfocus 000000000327097e, curre
nt focus 000000000327097e
WM_ACTIVATE 0000000000000001 0000000000000000, lastfocus 000000000327097e, curre
nt focus 0000000000000000
AssocCreate 0 H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip .zip
AssocCreate OK
AssocCreate Init 00000000
AssocCreate GetKey ASSOCF_IGNOREBASECLASS 00000000
AssocCreate GetKey ASSOCKEY_BASECLASS 00000000
ParseDisplayName H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip
parse display name H:\_SONNY\MYDOC\DeltaCad\'   Cancer Survivors Park.zip
parse display name OK
bind to parent
parse display name H:\_SONNY\MYDOC\DeltaCad\'   CLIFTON PARK.zip
parse display name OK
bind to parent
get menu 2 2
_fndfmcb 3 0 0
got menu 226631648
got menu 1
menu type 3
QueryContextMenu...
_fndfmcb 18 16 1240768
_fndfmcb 1 16 1240704
_fndfmcb 17 16 1240704
_fndfmcb 10 16 1240704
QueryContextMenu 00000057
track menu 000000000c6e1099
WM_INITMENUPOP 000000000c6e1099 0000000000000000
_fndfmcb 8 208539801 28
menu count 27
wid 6: 80 (0000004f)
00000000
VERB open
wid 6: 85 (00000054)
00000000
VERB sandbox
wid 7: 86 (00000055)
00000000
VERB Search Everything...
wid 8: 87 (00000056)
00000000
VERB TreeSize Free
wid 10: 79 (0000004e)
00000000
VERB extract
wid 12: 78 (0000004d)
00000000
VERB PickLinkSource
wid 14: 77 (0000004c)
80070057
wid 15: 32765 (00007ffc)
80070057
menu item info fail 0
wid 17: 32764 (00007ffb)
80070057
wid 18: 25 (00000018)
00000000
VERB cut
wid 19: 26 (00000019)
00000000
VERB copy
menu item info fail 0
wid 21: 17 (00000010)
00000000
VERB link
wid 22: 18 (00000011)
00000000
VERB delete
wid 23: 19 (00000012)
00000000
VERB rename
wid 24: 32766 (00007ffd)
80070057
wid 25: 20 (00000013)
00000000
VERB properties
rem dbl sep
WM_SELECT ffff0000 00000000 0c6e1099
idCommand 0
_fndfmcb 4 27 0
WM_ACTIVATE 0000000000000000 0000000000000000, lastfocus 0000000000dc03c8, curre
nt focus 0000000000dc03c8

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Mon Apr 22, 2019 3:42 pm

Win XP (where the issue does not occur).

Code: Select all

Everything
Version 1.4.1.940 (x86)
Windows NT 5.1
Processors 2
IsAdmin 1
AppData 0
Service 1
cmdline "C:\DEV\Locate\Everything.exe"
WM_ACTIVATE 00000000 00000000, lastfocus 001202c0, current focus 001202c0
WM_ACTIVATE 00000001 00000000, lastfocus 001202c0, current focus 00000000
AssocCreate 0 C:\WLIB\LeechFTP\LeechTMP\AllDupPortable_432.zip .zip
AssocCreate OK
AssocCreate Init 00000000
AssocCreate GetKey ASSOCF_IGNOREBASECLASS 00000000
AssocCreate GetKey ASSOCKEY_BASECLASS 00000000
ParseDisplayName C:\WLIB\LeechFTP\LeechTMP\AllDupPortable_432.zip
parse display name C:\WLIB\LeechFTP\LeechTMP\AllDupPortable_432.zip
parse display name OK
bind to parent
parse display name L:\XFER\Nirsoft\hashmyfiles_233 (nirsoft).zip
parse display name OK
bind to parent
get menu 2 2
_fndfmcb 3 0 0
got menu 55131808
got menu 1
menu type 3
QueryContextMenu...
_fndfmcb 1 16 1242620
_fndfmcb 17 16 1242620
_fndfmcb 10 16 1242620
QueryContextMenu 0000006b
track menu 01c006c3
WM_INITMENUPOP 01c006c3 00000000
_fndfmcb 8 29361859 28
menu count 33
wid 8: 103 (00000066)
00000000
VERB open
wid 8: 104 (00000067)
00000000
VERB find
wid 9: 105 (00000068)
00000000
VERB HashMyFiles
wid 10: 106 (00000069)
00000000
VERB sandbox
wid 11: 107 (0000006a)
00000000
VERB Universal Viewer
wid 12: 99 (00000062)
00000000
VERB Universal Viewer
wid 13: 100 (00000063)
00000000
VERB Universal Viewer
wid 14: 101 (00000064)
00000000
VERB Universal Viewer
wid 15: 102 (00000065)
00000000
VERB Universal Viewer
wid 17: 98 (00000061)
00000000
VERB PickLinkSource
menu item info fail 0
wid 20: 92 (0000005b)
80070057
wid 21: 32765 (00007ffc)
80070057
menu item info fail 0
wid 23: 32764 (00007ffb)
80070057
wid 24: 25 (00000018)
00000000
VERB cut
wid 25: 26 (00000019)
00000000
VERB copy
menu item info fail 0
wid 27: 17 (00000010)
00000000
VERB link
wid 28: 18 (00000011)
00000000
VERB delete
wid 29: 19 (00000012)
00000000
VERB rename
wid 30: 32766 (00007ffd)
80070057
wid 31: 20 (00000013)
00000000
VERB properties
rem dbl sep
WM_SELECT ffff0000 00000000 01c006c3
idCommand 0
_fndfmcb 4 27 0
WM_ACTIVATE 00000000 00000000, lastfocus 001302b8, current focus 001302b8

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Tue Apr 23, 2019 12:42 pm

Thanks for the debug logs.
Your example has an oddity like that (assuming you didn't name the file .zip .zip).
This shows the focused filename and extension
AssocCreate GetKey ASSOCKEY_BASECLASS 00000000
00000000 means successful, or no known error.
Although it might be returning a NULL hkey..

Could you please send me your registry entry for:
HKEY_CLASSES_ROOT\.zip

Please export the .zip key to zip.reg, rename to zip.txt and send to support@voidtools.com

And the base class too, once we know it from the above export.
The base class is the listed in HKEY_CLASSES_ROOT\.zip as the default value, such as WinRAR.ZIP
In which case I would need a copy of the following registry key:
HKEY_CLASSES_ROOT\WinRAR.ZIP

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Wed Apr 24, 2019 10:24 am

I gather this is simply Windows default settings.

HKEY_CLASSES_ROOT\.zip:

Code: Select all

REGEDIT4

[HKEY_CLASSES_ROOT\.zip]
"PerceivedType"="compressed"
"Content Type"="application/x-zip-compressed"
@="CompressedFolder"

[HKEY_CLASSES_ROOT\.zip\CompressedFolder]

[HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew]
"Data"=hex:50,4b,05,06,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"ItemName"=hex(2):40,25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,\
  33,32,5c,7a,69,70,66,6c,64,72,2e,64,6c,6c,2c,2d,31,30,31,39,34,00

[HKEY_CLASSES_ROOT\.zip\OpenWithProgids]
"CompressedFolder"=""

[HKEY_CLASSES_ROOT\.zip\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Wed Apr 24, 2019 10:29 am

Thanks for the registry info.

Yes, these are the default values, what is listed in your registry under
HKEY_CLASSES_ROOT\CompressedFolder

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Wed Apr 24, 2019 10:33 am

What seemed pertinent from a RegScanner scan of HKCR + zip.
Key, Name, Type, Data, Modified Time, Length:

Code: Select all

HKCR\.gz	Content Type	REG_SZ	application/x-gzip	02/23/2018 08:38:06 AM	19	
HKCR\.zip	PerceivedType	REG_SZ	compressed	07/14/2009 12:53:38 AM	11	
HKCR\.zip	Content Type	REG_SZ	application/x-zip-compressed	07/14/2009 12:53:38 AM	29	
HKCR\.zip		REG_SZ	CompressedFolder	07/14/2009 12:53:38 AM	17	
HKCR\.zip\CompressedFolder\ShellNew	Data	REG_BINARY	50 4B 05 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00	07/14/2009 12:53:38 AM	22	
HKCR\.zip\CompressedFolder\ShellNew	ItemName	REG_EXPAND_SZ	@%SystemRoot%\system32\zipfldr.dll,-10194	07/14/2009 12:53:38 AM	42	
HKCR\.zip\OpenWithProgids	CompressedFolder	REG_SZ		07/14/2009 12:53:38 AM	1	
HKCR\.zip\PersistentHandler		REG_SZ	{098f2470-bae0-11cd-b579-08002b30bfeb}	07/14/2009 12:53:38 AM	39	
HKCR\Applications\zipfldr.dll	NoOpenWith	REG_SZ		07/14/2009 12:53:38 AM	1	
HKCR\CLSID\{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}		REG_SZ	Compressed (zipped) Folder SendTo Target	07/14/2009 12:54:25 AM	41	
HKCR\CLSID\{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}	FriendlyTypeName	REG_EXPAND_SZ	@%SystemRoot%\system32\zipfldr.dll,-10226	07/14/2009 12:54:25 AM	42	
HKCR\CLSID\{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}\DefaultIcon		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CLSID\{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}\InProcServer32		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CLSID\{b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}		REG_SZ	Compressed (zipped) Folder Context Menu	07/14/2009 12:54:25 AM	40	
HKCR\CLSID\{b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}\InProcServer32		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CLSID\{BD472F60-27FA-11cf-B8B4-444553540000}		REG_SZ	Compressed (zipped) Folder Right Drag Handler	07/14/2009 12:54:25 AM	46	
HKCR\CLSID\{BD472F60-27FA-11cf-B8B4-444553540000}\InProcServer32		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}\DefaultIcon		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CLSID\{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}\InProcServer32		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CLSID\{ed9d80b9-d157-457b-9192-0e7280313bf0}		REG_SZ	Compressed (zipped) Folder DropHandler	07/14/2009 12:54:25 AM	39	
HKCR\CLSID\{ed9d80b9-d157-457b-9192-0e7280313bf0}\InProcServer32		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:54:25 AM	34	
HKCR\CompressedFolder		REG_SZ	Compressed (zipped) Folder	07/14/2009 12:53:38 AM	27	
HKCR\CompressedFolder	FriendlyTypeName	REG_EXPAND_SZ	@%SystemRoot%\system32\zipfldr.dll,-10195	07/14/2009 12:53:38 AM	42	
HKCR\CompressedFolder\DefaultIcon		REG_EXPAND_SZ	%SystemRoot%\system32\zipfldr.dll	07/14/2009 12:53:38 AM	34	
HKCR\CompressedFolder\ShellEx\ContextMenuHandlers\{b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}		REG_SZ	Compressed (zipped) Folder Menu	07/14/2009 12:53:38 AM	32

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Wed Apr 24, 2019 10:35 am

HKEY_CLASSES_ROOT\CompressedFolder:

Code: Select all

REGEDIT4

[HKEY_CLASSES_ROOT\CompressedFolder]
@="Compressed (zipped) Folder"
"FriendlyTypeName"=hex(2):40,25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,\
  74,65,6d,33,32,5c,7a,69,70,66,6c,64,72,2e,64,6c,6c,2c,2d,31,30,31,39,35,00

[HKEY_CLASSES_ROOT\CompressedFolder\CLSID]
@="{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}"

[HKEY_CLASSES_ROOT\CompressedFolder\DefaultIcon]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,32,5c,7a,\
  69,70,66,6c,64,72,2e,64,6c,6c,00

[HKEY_CLASSES_ROOT\CompressedFolder\shell]

[HKEY_CLASSES_ROOT\CompressedFolder\shell\find]
"LegacyDisable"=""
"SuppressionPolicy"=dword:00000080

[HKEY_CLASSES_ROOT\CompressedFolder\shell\find\command]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,45,78,70,6c,6f,72,65,72,2e,65,\
  78,65,00
"DelegateExecute"="{a015411a-f97d-4ef3-8425-8a38d022aebc}"

[HKEY_CLASSES_ROOT\CompressedFolder\shell\Open]
"MultiSelectModel"="Document"

[HKEY_CLASSES_ROOT\CompressedFolder\shell\Open\Command]
@=hex(2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,45,78,70,6c,6f,72,65,72,2e,65,\
  78,65,20,2f,69,64,6c,69,73,74,2c,25,49,2c,25,4c,00
"DelegateExecute"="{11dbb47c-a525-400b-9e80-a54615a090c0}"

[HKEY_CLASSES_ROOT\CompressedFolder\ShellEx]

[HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\ContextMenuHandlers\{b8cdcb65-b1bf-4b42-9428-1dfdb7ee92af}]
@="Compressed (zipped) Folder Menu"

[HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\DropHandler]
@="{ed9d80b9-d157-457b-9192-0e7280313bf0}"

[HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\StorageHandler]
@="{E88DCCE0-B7B3-11d1-A9F0-00AA0060FA31}"

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Thu Apr 25, 2019 7:10 am

Thanks for the registry info.

I was able to reproduce the issue here.

It appears when there is a base key, Everything will ignore the HKEY_CLASSES_ROOT\* key
Fixed for the next release of Everything.

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Thu Apr 25, 2019 7:21 am

If you would like to try this fix now, please try Everything 1.4.1.941:
Everything-1.4.1.941.x64.zip
Everything-1.4.1.941.x86.zip

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Thu Apr 25, 2019 10:42 am

(Win7 x64, Everything x86 & x64)

Both HashMyFiles & Vim now show up as expected - kind of.

No, lets go back to that, both HashMyFiles & Vim now show up as expected - I'm pretty sure.

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Thu Apr 25, 2019 10:45 am

Though we're not out of the woods yet...

Ah maybe we are.
(We are, I'm thinking :-).)
Lets see if some eagle eye can figure out what I thought was wrong (but in fact is not) with this scenario (which certainly fooled me).

Image
Image

NotNull
Posts: 1241
Joined: Wed May 24, 2017 9:22 pm

Re: Context Menu Changes Based on File Type

Post by NotNull » Mon Apr 29, 2019 6:20 pm

@void: Do you need debug logs / reg settings from my system to see why it worked on my system?

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Wed May 01, 2019 7:37 am

No thanks, you most likely don't have a base type context menu handler for zip files which is why it would work for you.

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Fri May 03, 2019 3:18 pm

@void, did you want .941 listed in the Beta thread, it is not?

void
Site Admin
Posts: 4717
Joined: Fri Oct 16, 2009 11:31 pm

Re: Context Menu Changes Based on File Type

Post by void » Sat May 11, 2019 8:45 am

Updated, thanks.

therube
Posts: 2236
Joined: Thu Sep 03, 2009 6:48 pm

Re: Context Menu Changes Based on File Type

Post by therube » Wed May 15, 2019 5:12 pm

(Hash My Files just updated, which should help things, overall.)
Version 2.35:

Fixed again the 'Open In VirusTotal Web site' option, because the link on 2.33 didn't work for some users.
Also, HashMyFiles displays an error message if you try to use this option while SHA256 is turned off, because VirusTotal doesn't support MD5 hashes anymore.
Added 'Copy SHA384' and 'Copy SHA512' options.
Fixed problem when hashing multiple files from the Explorer context menu.

Post Reply