Форум: "Система";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизКак программно включить-выключить Active Desktop? Найти похожие ветки
← →
Ал (2003-04-16 15:27) [0]Или узнать, включен он или нет?
Подскажите, мастера!
← →
Ал (2003-04-16 23:37) [1]Не может быть, чтобы нельзя было!
← →
Внук (2003-04-17 09:29) [2]Можно. В реестре поискать надо. У меня есть небольшой рабочий примерчик, но он дома. Могу порекомендовать только книгу Борна "Inside Windows Registry". Или Google...
← →
Ал (2003-04-17 09:32) [3]Уважаемые знатоки! Подскажите конкретнее - для того и конференция. Если бы я знал, что искать в Google.
← →
Songoku (2003-04-17 11:17) [4]uses
ShlObj, ComObj;
procedure TurnActiveDesktop(state:Bool);
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
ie:IActiveDesktop;
opt:TCOMPONENTSOPT;
begin
ie:= CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
opt.dwSize := sizeof(opt);
opt.fActiveDesktop := state;
opt.fEnableComponents := state;
ie.SetDesktopItemOptions(opt,0);
ie.ApplyChanges(AD_APPLY_REFRESH);
end;
Скажи мне если работает ... потому что я не уверен на все 100% что работает!!!
← →
Ал (2003-04-18 16:35) [5]Работает, но:
под Win98 - срабатывает только один раз за сеанс работы программы. Запустил программу, нажал кнопку - вызвал функцию - выключил ActiveDesktop. Программа продолжает работать. Если при работающей программе снова вручную включить ActiveDesktop, а затем нажать кнопку - вызвать функцию - ActiveDesktop не выключается.
← →
Songoku (2003-04-19 04:23) [6]Я чито случайно нашёл одну функцию!!!
function IsActiveDeskTopOn: Boolean;
var
h: hWnd;
begin
h := FindWindow("Progman", nil);
h := FindWindowEx(h, 0,
"SHELLDLL_DefView", nil);
h := FindWindowEx(h, 0,
"Internet Explorer_Server", nil);
Result := h <> 0;
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.028 c