Как проверить, включён ли ActiveDesktop 2Delphi , Рабочий стол , Рабочий столКак проверить, включён ли ActiveDesktop 2
Оформил: DeeCo uses ComObj, ShlObj, ActiveX; // Check if Active Desktop is enabled (2) function IsActiveDesktopEnable: Boolean; const CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}'; var ActiveDesk: IActiveDesktop; ComponentsOpt: TComponentsOpt; hr: HRESULT; dwReserved: DWORD; begin ZeroMemory(@ComponentsOpt, SizeOf(TComponentsOpt)); ComponentsOpt.dwSize := SizeOf(TComponentsOpt); hr := CoCreateInstance(CLSID_ActiveDesktop, nil, CLSCTX_INPROC_SERVER, CLSID_ActiveDesktop, ActiveDesk); if SUCCEEDED(hr) then begin hr := ActiveDesk.GetDesktopItemOptions(ComponentsOpt, dwReserved); // ActiveDesk._Release; end; Result := ComponentsOpt.fActiveDesktop; end; Привет! Я переведу текст на русский язык. Код Delphi для проверки включения Active Desktop (версии 2) на системе Windows: Импорты Код импортирует три модуля: Определение функции Функция Константные определения Две константы определены:
Объявление переменных Три переменные объявлены:
Выполнение кода Функция выполняется следующим образом:
1. Она создает экземпляр записи Замечания
Альтернативное решение Если вам нужно проверить, включен ли Active Desktop (версии 2), и вы не хотите использовать COM-объекты, вы можете попробовать использовать функции Windows API, такие как Проверить включение ActiveDesktop 2 можно с помощью функции IsActiveDesktopEnable, которая использует интерфейс IActiveDesktop и проверяет флаг fActiveDesktop в структуре TComponentsOpt. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Рабочий стол ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |