mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
d41dec2e07
Add a basic IOpenControlPanel implementation that supports Vista canonical registry names. Implements `control.exe /name company.name [/page id]` and `IOpenControlPanel` handling of Vista-style canonical registry names. The documented `Microsoft.*` names don't work because they are simply not in our registry but "[Executable Control Panel Items](https://learn.microsoft.com/en-us/windows/win32/shell/how-to-register-an-executable-control-panel-item-registration-)" registered by 3rd-party ISVs will function correctly in control.exe and the COM API. Notes: - `IOpenControlPanel` is implemented in CControlPanelFolder.cpp because it is supposed to have tighter integration with that shell folder than it does in this PR. - `IOpenControlPanel` is also supposed to handle .cpl files with canonical names registered under [`Extended Properties`](https://learn.microsoft.com/en-us/windows/win32/shell/how-to-register-dll-control-panel-item-registration-#step-3) but the control panel folder does not implement `IShellFolder2::GetDetailsEx` yet, so it will have to wait. - These "Executable Control Panel Items" are also supposed to be displayed in the control panel itself but this PR does not address that. The `ITEMIDLIST` format for those needs investigation... - The Wow64 handling is perhaps not correct but it does not matter, `ShellExecuteEx` gets to deal with whatever is in the `...\shell\open\command` key. `CControlPanelFolder` would have to take more care when it starts reading those keys so it knows when to append "(32-bit)" to the display name. - `%s%s` because .cpl canonical names don't have the `::` prefix according to Geoff Chappell. - Always returns `CPVIEW_CLASSIC` because our `CControlPanelFolder` does not support the category view. |
||
---|---|---|
.. | ||
atactl | ||
cacls | ||
calc | ||
charmap | ||
charmap_new | ||
clipbrd | ||
cmdutils | ||
control | ||
ctfmon | ||
drwtsn32 | ||
dxdiag | ||
extrac32 | ||
findstr | ||
fltmc | ||
fontview | ||
games | ||
hh | ||
iexplore | ||
kbswitch | ||
logoff | ||
magnify | ||
mmc | ||
mplay32 | ||
msconfig | ||
msconfig_new | ||
mscutils | ||
mshta | ||
mspaint | ||
mstsc | ||
network | ||
notepad | ||
osk | ||
rapps | ||
rapps_com | ||
regedit | ||
regedt32 | ||
runas | ||
sc | ||
screensavers | ||
sdbinst | ||
setup16 | ||
shutdown | ||
sndrec32 | ||
sndvol32 | ||
taskmgr | ||
utilman | ||
winhlp32 | ||
winver | ||
wordpad | ||
write | ||
wusa | ||
CMakeLists.txt |