mirror of
https://github.com/reactos/reactos.git
synced 2025-07-03 02:01:23 +00:00
[SHELL32] Add support for more registry verb flags and CMF flags (#5785)
- Adds support for registry controlled menu separators and the documented values to turn off verbs. - Adds support for CMF_OPTIMIZEFORINVOKE, CMF_NODEFAULT, CMF_DONOTPICKDEFAULT, CMF_EXPLORE and CMF_DISABLEDVERBS. Bugs fixed: - A verb with "Extended" set in the registry could cause the menu to invoke the incorrect command! This happened because skipping InsertMenuItemW caused InvokeCommand to use the wrong index with m_StaticEntries. - Uses IS_INTRESOURCE instead of HIWORD to check if something is a string (only matters on 64-bit). - TryToBrowse leaking a PIDL when calling ILCombine. Notes: - This PR introduces the RosGetProcessEffectiveVersion() helper function discussed in chat. - Relaxed FAILED_UNEXPECTEDLY to FAILED in two places because IContextMenu cannot assume that it has a site that leads to IShellBrowser.
This commit is contained in:
parent
23f31cf7b4
commit
7fb91d98f9
4 changed files with 267 additions and 120 deletions
|
@ -1596,16 +1596,21 @@ interface IDropTargetHelper : IUnknown
|
|||
]
|
||||
interface IContextMenu : IUnknown
|
||||
{
|
||||
cpp_quote("#define CMF_NORMAL 0x00000000")
|
||||
cpp_quote("#define CMF_DEFAULTONLY 0x00000001")
|
||||
cpp_quote("#define CMF_VERBSONLY 0x00000002")
|
||||
cpp_quote("#define CMF_EXPLORE 0x00000004")
|
||||
cpp_quote("#define CMF_NOVERBS 0x00000008")
|
||||
cpp_quote("#define CMF_CANRENAME 0x00000010")
|
||||
cpp_quote("#define CMF_NODEFAULT 0x00000020")
|
||||
cpp_quote("#define CMF_INCLUDESTATIC 0x00000040")
|
||||
cpp_quote("#define CMF_EXTENDEDVERBS 0x00000100")
|
||||
cpp_quote("#define CMF_RESERVED 0xffff0000")
|
||||
cpp_quote("#define CMF_NORMAL 0x00000000")
|
||||
cpp_quote("#define CMF_DEFAULTONLY 0x00000001")
|
||||
cpp_quote("#define CMF_VERBSONLY 0x00000002")
|
||||
cpp_quote("#define CMF_EXPLORE 0x00000004")
|
||||
cpp_quote("#define CMF_NOVERBS 0x00000008")
|
||||
cpp_quote("#define CMF_CANRENAME 0x00000010")
|
||||
cpp_quote("#define CMF_NODEFAULT 0x00000020")
|
||||
cpp_quote("#define CMF_INCLUDESTATIC 0x00000040")
|
||||
cpp_quote("#define CMF_EXTENDEDVERBS 0x00000100")
|
||||
cpp_quote("#define CMF_DISABLEDVERBS 0x00000200")
|
||||
cpp_quote("#define CMF_ASYNCVERBSTATE 0x00000400")
|
||||
cpp_quote("#define CMF_OPTIMIZEFORINVOKE 0x00000800")
|
||||
cpp_quote("#define CMF_SYNCCASCADEMENU 0x00001000")
|
||||
cpp_quote("#define CMF_DONOTPICKDEFAULT 0x00002000")
|
||||
cpp_quote("#define CMF_RESERVED 0xffff0000")
|
||||
|
||||
cpp_quote("#define GCS_VERBA 0x00000000")
|
||||
cpp_quote("#define GCS_HELPTEXTA 0x00000001")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue