Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.25;
Скачать: CL | DM;

Вниз

Работа с Desktop   Найти похожие ветки 

 
Mover ©   (2002-02-19 10:58) [0]

Всем привет!
Если не затруднит, прошу знающих ответить на следующие вопросы:
1. - Как узнать, что включен Active Desktop? А так же отключить его при необходимости...
(ключика в реестре HKCU\Software\Microsoft\CurrentVersion\Policies\Explorer\NoActiveDesktop нет, проверял! Хотя сам Explorer его ищет, судя по RegMonitor).
2. - Как менять цвет фона у простого и у активного десктопа?
Меня не устраивает всем известное решение:

H1:=FindWindow("Progman",nil);
H1:=FindWindowEx(h1, 0, nil, nil);
H1:=FindWindowEx(h1, 0, nil, nil);
if H1<>0 then begin
SetLength(S, 40);
GetClassName(h1, PChar(S), 39);
if PChar(S) = "SysListView32" then begin
// Выберем случайный цвет
Red:=Random(100);
Green:=Random(100);
Blue:=Random(100);
C1:=$00010000*Blue+$00000100*Green+$00000001*Red;
ListView_SetBkColor(H1, C1);
end;
end;

так как оно не работает без рефреша, а установка фоновой картинки сбивает настройки и возвращает прошлый цвет фона.

PS. Облазил все форумы и FAQ... =( Нигде ничего или я плохо искал.


 
VuDZ ©   (2002-02-19 13:16) [1]

а как на счёт поискать в реестре? там есть это всё - и цвет, и фоновая картинка...


 
Mover ©   (2002-02-19 13:47) [2]

2 VuDZ:
Понимаешь... Просто у меня нет времени заниматься исследованиями реестра! =) Загнеться форум с такими "ответами"...
Кстати, вот надыбал:

HKCU\Control Panel\Colors (Background)
HKCU\Control Panel\Desktop (Wallpaper, TileWallpaper)

Картинку обновить - нет проблем! Но вот с цветом - это лажа какая-то. Реестр обновляй не обновляй, рабочий стол не реагирует.
Цвет остается старым до перезагрузки.

2All: С Active Desktop"ом кто-то работал?


 
Pete ©   (2002-02-19 16:07) [3]

2 Mover:

А я сюда за ответами редко обрашаюсь. Просто интересно умных людей послушать... Мне кажется читает в несколько раз народу больше, чем отвечает и спрашивает...
А на счет того, что нет времени (или просто лень) изучать, так это зря... Интересно самому "победить" проблему...


 
SerVS - S   (2002-02-19 16:27) [4]

Десктоп имеет IActiveDesktop. Я задавал это вопрос недельки две назад, посмотри там пример есть.


 
Mover ©   (2002-02-19 16:40) [5]

Окей, не лень, просто нет времени... Скоро залью новую версию Wallpaper (v0.6) в Кладовку// Программы, там все о чем я спрашивал сам же и реализовал.
Одно вот пока только не нашел, как обновлять рабочий стол после установки нового Background Color... А то бы еще и его менял! =)


 
Raptor ©   (2002-02-19 22:12) [6]

Вот-вот, SerVS - S првильно говорит. Поищи по ключу IActiveDesktop на этом форуме. Я уже раза 2 или 3 отвечал здесь на подобные вопросы. Или ищи в MSDN описание интерфейса IActiveDesktop.


 
Mover ©   (2002-02-20 12:28) [7]

Нет, Raptor! Я спрашиваю одно, получаю другое.
Мне не надо код, КАК МЕНЯТЬ ФОН ДЛЯ ActiveDesktop.
Это я и так знаю... =) Вопрос: КАК ОПРЕДЕЛИТЬ, ВКЛЮЧЕН ИЛИ ВЫКЛЮЧЕН ActiveDesktop?!! Так вот, оказалось все очень сложно и запутано, но я проанализировал в реестре бинарный ключик ShellState - это единственное, что менялось. И оказалось, что в 5 байте 2 битик слева указывает как раз на галочку "Отображать содержимое, как Web-страницу". Вот код:

function Get_Active_Desktop: Boolean;
var
Buff: array [0..27] of Byte;
begin
Result:=False;
with TRegistry.Create do
try
bActive:=False;
RootKey:=HKEY_CURRENT_USER;
if OpenKey("\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer", False) then begin
// Определим состояние Desktop "Отображать, как Web-страницу"
ReadBinaryData("ShellState", Buff, SizeOf(Buff));
Result:=(Buff[4] and $40) <> 0;
CloseKey;
end;
finally
Free;
end;
end;


Спасибо за внимание... =)
Кстати, если кто расскажет, как менять цвет фона в обоих случаях, напишите письмом - буду очень признателен!



Страницы: 1 вся ветка

Текущий архив: 2002.04.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
14-81060
bos
2002-03-20 09:11
2002.04.25
минимальные требования IB6?


1-80883
GrayWolf
2002-04-14 09:05
2002.04.25
MDI-приложение


1-80912
@andrew
2002-04-15 12:49
2002.04.25
ПРИВЕТ ВСЕМ! Хочу распечатать Канвас...


1-81009
Demon Ltd
2002-04-13 00:05
2002.04.25
Работа повторно с меню


1-80950
dr_neo
2002-04-11 21:54
2002.04.25
Выделение отдельных слов в тексте