Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как скрыть / показать ActiveDesktop?

01.01.2007
uses
 
ComObj, ShlObj, ActiveX;
 
procedure
EnableActiveDesktop(bValue: Boolean);
const
  CLSID_ActiveDesktop
: TGUID = (D1: $75048700; D2: $EF1F; D3: $11D0;
    D4
: ($98, $88, $00, $60, $97, $DE, $AC, $F9));
var
 
MyObject: IUnknown;
 
ActiveDesk: IActiveDesktop;
  twpoComponentOpt
: TComponentsOpt;
begin
 
MyObject := CreateComObject(CLSID_ActiveDesktop);
 
ActiveDesk := MyObject as IActiveDesktop;
 
with twpoComponentOpt do
 
begin
   
ZeroMemory(@twpoComponentOpt, SizeOf(TComponentsOpt));
    dwSize
:= SizeOf(twpoComponentOpt);
    fEnableComponents
:= bValue;
   
// fActiveDesktop := True;
 
end;
 
ActiveDesk.SetDesktopItemOptions(twpoComponentOpt, 0);
 
ActiveDesk.ApplyChanges(AD_APPLY_ALL);
end;

Взято с сайта https://www.swissdelphicenter.ch/en/tipsindex.php