Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как скрыть или показать иконки на рабочем столе

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

Как скрыть или показать иконки на рабочем столе


procedure TForm1.Button1Click(Sender: TObject);
begin
  // скрыть иконки
  ShowWindow(FindWindow(nil, 'Program Manager'), SW_HIDE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  // показать иконки
  ShowWindow(FindWindow(nil, 'Program Manager'), SW_SHOW);
end;

Here's the translation of the text into Russian:

Код, который вы предоставили, написан на Delphi и использует Windows API для управления видимостью окон. Он предназначен для скрытия или отображения иконок на рабочем столе.

Вот разбивка функций каждого процедуры:

  1. Процедура Button1Click: эта процедура скрывает иконки на рабочем столе, установив окно в скрытое состояние с помощью константы SW_ HIDE из Windows API.
    • FindWindow(nil, 'Программный менеджер'): это функция поиска окна с заголовком "Программный менеджер". Если не находит окно, возвращает nil. В этом случае мы ищем окно, которое соответствует заголовку "Программный менеджер", что может быть окном Эксплорера на вашем рабочем столе.
    • ShowWindow(..., SW_ HIDE): эта функция устанавливает видимость окна в скрытое состояние.
  2. Процедура Button2Click: эта процедура отображает иконки на рабочем столе, установив окно в показанное состояние с помощью константы SW_ SHOW из Windows API.
    • То же поиск окна с заголовком "Программный менеджер", как в предыдущей процедуре.
    • ShowWindow(..., SW_ SHOW): эта функция устанавливает видимость окна в показанное состояние.

Вот альтернативное решение, которое может работать лучше, в зависимости от вашего конкретного требования: Вместо поиска окна с конкретным заголовком и затем скрытия или отображения его, вы можете использовать функцию Windows API ShowWindow для управления видимостью всех иконок на рабочем столе. Вам нужно будет получить handle к окну Эксплорера (обычно процесс ID "explorer.exe") и затем вызвать ShowWindow с константой SW_ HIDE или SW_ SHOW.

Вот пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
   // Скрыть иконки
  ShowWindow(FindWindowEx(0, 0, 'Прогман'), SW_ HIDE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   // Отобразить иконки
  ShowWindow(FindWindowEx(0, 0, 'Прогман'), SW_ SHOW);
end;

В этом примере функция FindWindowEx используется для поиска окна с классом "Прогман" (обычно окно Эксплорера) и затем вызывается ShowWindow с желаемой видимостью.

Обратите внимание, что эти примеры являются специфичными для Delphi и Windows API. Поведение может варьироваться в зависимости от среды, в которой вы запускаете ваш код.

В статье описывается способ программного скрытия или отображения иконок на рабочем столе с помощью процедуры TForm1.


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


:: 2015-12-12 20:43:23 :: re:Как скрыть или показать иконки на рабочем столе

пользователь: Гость.

Этим вы находите хэнл 'Program Manager' и скрываете
окно вместе с иконками при этом неработает выпадающее по правой кнопке мыши менюшка, чтоб поставить\снять галку в меню надо:
var
nwnd:HWND;
IDMenu :WORD = 29698;
Begin
nwnd:=FindWindowEx( FindWindow
('Progman', nil), HWND(0), 'ShellDll_DefView', nil);
SendMessage(nwnd, WM_COMMAND, MAKEWPARAM(29698, 0), 0);
End;


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 20:32:01/0.0076711177825928/2