Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Показать или скрыть ActiveDesktop

Delphi , Рабочий стол , Рабочий стол

Показать или скрыть ActiveDesktop

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

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;

Программный код на Delphi, который позволяет включать или отключать функцию Активного Десктопа с помощью COM (Component Object Model). Вот разбивка на части:

Клауза uses Клауза uses указывает библиотеки, необходимые для этого модуля. В этом случае они включают ComObj, ShlObj и ActiveX.

Процедура EnableActiveDesktop Процедура принимает булевое значение (bValue) в качестве параметра входа. Она включает или отключает функцию Активного Десктопа в зависимости от значения.

Константы Константа CLSID_ActiveDesktop определяет GUID (Globally Unique Identifier) компонента COM для Активного Десктопа.

Переменные Код объявляет три переменные:

  • MyObject: интерфейс IUnknown, который будет использоваться для создания нового экземпляра компонента Активного Десктопа.
  • ActiveDesk: интерфейс IActiveDesktop, который будет использоваться для взаимодействия с компонентом Активного Десктопа.
  • twpoComponentOpt: запись TComponentsOpt, которая будет хранить параметры для компонента Активного Десктопа.

Код Код выполняет следующие действия: 1. Создает новый экземпляр компонента Активного Десктопа с помощью функции CreateComObject и хранит его в MyObject. 2. Кастует MyObject в интерфейс IActiveDesktop и присваивает его ActiveDesk. 3. Инициализирует запись twpoComponentOpt, занимая ее содержимое нулями и устанавливаю ее размер. 4. Устанавливает два свойства записи twpoComponentOpt: * fEnableComponents: устанавливает включение или отключение функции Активного Десктопа в зависимости от значения bValue. * fActiveDesktop: не используется (комментировано). 5. Вызывает метод SetDesktopItemOptions интерфейса IActiveDesktop, чтобы установить параметры для компонента Активного Десктопа. 6. Вызывает метод ApplyChanges с флагом AD_APPLY_ALL, чтобы применить изменения.

Альтернативное решение Если вы хотите отключить функцию Активного Десктопа, можно просто передать значение False в качестве значения bValue. Если вы хотите включить ее, передайте True.

Обратите внимание, что этот код может не работать на современных системах, потому что функция Активного Десктопа больше не поддерживается в Windows. Она была заменена другими технологиями, такими как Windows Desktop Gadgets и позднее - Tiles в Windows 10.

Данное программирование на языке Delphi предназначено для включения или отключения функции ActiveDesktop в системе Windows.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Рабочий стол ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 13:13:50/0.0058028697967529/1