A- A A+

Verwijderen van Scherm Resolutie en Personaliseren van het Desktop Context menu

Ster inactiefSter inactiefSter inactiefSter inactiefSter inactief
 

Er zijn meerdere methoden om dit op te lossen.

Hack in gebruikerscontext

De eerste oplossing is door met bijvoorbeeld met RES Workspace Manager de HKEY_CURRENT_USER hive te vullen met fake waarden. Het voordeel is dat je geen aanpassingen op machine niveau hoeft uit te voeren. In de praktijk werkt dit zeer goed. Echter heeft het een nadeel, het is een extra actie bij het inloggen en geeft een sluggish gevoel in Explorer.

De actie is heel eenvoudig, maak een register hack, en stel hier het volgende in:

HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\Display\command
DelegateExecute REG_SZ "--{06622D85-6856-4460-8DE1-A81921B41C4B}"
HKEY_CURRENT_USER\Software\Classes\DesktopBackground\Shell\Personalize\command
DelegateExecute REG_SZ "--{06622D85-6856-4460-8DE1-A81921B41C4B}"
HKEY_CLASSES_ROOT\DesktopBackground\shellex\ContextMenuHandlers\DesktopSlideshow
(default) REG_SZ "--{0bf754aa-c967-445c-ab3d-d8fda9bae7ef}"

Door deze instelling zal Explorer de juiste onderdelen niet kunnen vinden (override op HKCR) en zullen de opties niet worden weergegeven.

Hack in machinecontext

Deze hack vindt plaats op machine niveau en geldt voor alle gebruikers behalve "Administrators". Deze hack heeft de voorkeur maar 1 nadeel, het nadeel is dat bij een eventuele hotfix of servicepack de instelling weer ongedaan gemaakt wordt. Om deze hack uit te voeren doe je het volgende:

  1. Open regedit;
  2. Navigeer naar HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display
    regedit
  3. Open de "Machtigingen"
    machtigingen
  4. Kies "Geavanceerd";
  5. Neem het "Ownership" van het "Object" door dit toe te wijzen aan "Administrators";
  6. Hierna terug naar "Beveiliging";
  7. Verwijder "Users";
    machtigingen-nieuw
  8. Druk op OK;
  9. Herhaal dit op de sleutel HKEY_CLASSES_ROOT\DesktopBackground\Shell\Personalize;

Vanuit RES Automation Manager is dit niet direct uit te voeren zonder gebruik te maken van extra tooling. Wanneer je dit in een module wilt doen heb je een externe tool nodig met de naam setacl. De juiste versie van deze tool is geschreven door Helge Klein en kan hier worden gedownload.

De commando regels zijn:

SetACL.exe -on HKLM\software\classes\DesktopBackground\Shell\Display -ot reg -actn setprot -op dacl:p_nc;sacl:p_nc -rec yes
SetACL.exe -on HKLM\software\classes\DesktopBackground\Shell\Display -ot reg -actn ace -ace "n:system;p:read" -ace "n:administrators;p:read" -actn clear -clr "dacl,sacl" -actn rstchldrn -rst "dacl,sacl" -rec yes
SetACL.exe -on HKLM\software\classes\DesktopBackground\Shell\Personalize -ot reg -actn setprot -op dacl:p_nc;sacl:p_nc -rec yes
SetACL.exe -on HKLM\software\classes\DesktopBackground\Shell\Personalize -ot reg -actn ace -ace "n:system;p:read" -ace "n:administrators;p:read" -actn clear -clr "dacl,sacl" -actn rstchldrn -rst "dacl,sacl" -rec yes