Sometimes you want to know if the desktop is in Active Desktop mode-for example, to set an HTML wallpaper. I couldn’t find a function to accomplish this, but this hack works on all Windows 95/98 and NT4 desktops that I’ve tested it on:
Private Declare Function FindWindow& Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$)Private Declare Function FindWindowEx& Lib "user32" Alias _ "FindWindowExA" (ByVal hWndParent&, ByVal _ hWndChildAfter&, ByVal lpClassName$, ByVal _ lpWindowName$)Public Function IE4ActiveDesktop() As Boolean Dim Templong& Templong = FindWindow("Progman", vbNullString) Templong = FindWindowEx(Templong, 0&, _ "SHELLDLL_DefView", vbNullString) Templong = FindWindowEx(Templong, 0&, _ "Internet Explorer_Server", vbNullString) If Templong > 0 Then IE4ActiveDesktop = True Else IE4ActiveDesktop = False End IfEnd Function