Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Иконки на рабочем столе

476
01 ноября 2002 года
man2002ua
218 / / 16.10.2002
Есть задача - по горячей клавише убирать иконки с рабочего стола или восстанавливать их на столе.
Какие функции позволяют:
1) перечислить иконки
2) получить инф-ю о них (положение, как минимум)
3) спрятать/показать

Перемещение *.lnk файлов в другой каталог НЕ приветствуется!
423
02 ноября 2002 года
Quasi
98 / / 20.01.2000
Цитата:
Originally posted by man2002ua
Есть задача - по горячей клавише убирать иконки с рабочего стола или восстанавливать их на столе.
Какие функции позволяют:
1) перечислить иконки
2) получить инф-ю о них (положение, как минимум)
3) спрятать/показать

Перемещение *.lnk файлов в другой каталог НЕ приветствуется!




Рабочий стол перекрыт сверху компонентом ListView. Вам просто необходимо взять хэндл этого органа управления. Пример:



--------------------------------------------------------------------------------
function GetDesktopListViewHandle: THandle;
var

S: String;
begin

Result := FindWindow('ProgMan', nil);
Result := GetWindow(Result, GW_CHILD);
Result := GetWindow(Result, GW_CHILD);
SetLength(S, 40);
GetClassName(Result, PChar(S), 39);
if PChar(S) <> 'SysListView32' then Result := 0;
end;

После того, как Вы взяли тот хэндл, Вы можете использовать API этого ListView, определенный в модуле CommCtrl, для того, чтобы манипулировать рабочим столом. Смотрите тему "LVM_xxxx messages" в оперативной справке по Win32.

К примеру, следующая строка кода:



--------------------------------------------------------------------------------
ListView_SetItemPosition(GetDesktopListViewHandle,i,x,y); {Не забудьте в uses добавить CommCtrl}

ярлыку с индексом i, задаст координаты (x,y). К примеру Мой компьютер имеет индекс 0, т.е i:=0;


информация с кулиба 2000
Kuliba

476
02 ноября 2002 года
man2002ua
218 / / 16.10.2002
Спасибо!
Делаю просто SW_HIDE этому ListView и все! Круто!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог