![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Замена Windows Explorer [D6, WinXP]
dmur © (2002-08-04 13:57:00)В силу определенных обстоятельств мне приходится писать прогу, заменяющую собой Проводник Windows. В связи с чем у меня возникла масса вопросов, главные и из которых ниже:
1. Как сделать так чтобы окно являющееся Desktop-ом всегда находилось сзади запущенных им же программ (их окон), так как это делает Рабочий стол?
2. Как сделать так чтобы окно являющееся ТaskBar-ом всегда находилось снизу , так как это делает Панель задач?
3. Нет ли у кого исходников некоторого подобия Панели задач?
4. Нет ли у кого документации по данной тематике?
Код должен работать во всех ОС: 95/98/Me/XP/NT4/2000
Заранее благодарен всем ответившим на мои вопросы.
Кулюкин Олег (2002-08-05 09:05:00) [1]2 dmur
А зачем Вам подменять Эксплорер???
Это путь к погибели (или к геморрою, именно с двумя "ЭР").
Обрисуйте проблемму, может есть способ сделать это иначе, не пытаясь переписать половину ОС.
dmur (2002-08-04 20:27:00) [2]Для Юрий Зотов: Спасибо.
Для Song: Насчет людей которые наоставляют свои вопросы на десятке формуов -- я ответил здесь, еще не успев еще прочитать Ваш ответ на www.sources.ru. Так нервно реагировать в любом случае не стоит.
Юрий Зотов (2002-08-04 20:16:00) [3]Ну что ж, OK, дерзайте. Либо и правда сделаете, либо убедитесь, что не все так просто. В любом случае польза.
Вот форма, которая всегда остается сзади всех окон, показанных позже нее. Если запустить ее, как Shell... сами понимаете.
type
TForm1 = class(TForm)
private
procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
end;
procedure TForm1.WMWindowPosChanging(var Message: TWMWindowPosChanging);
begin
with message.WindowPos^ do flags := flags or SWP_NOZORDER;
inherited
end;
Song (2002-08-04 19:53:00) [4]2dmur (04.08.02 19:50)
SetWindowPos()
P.S. На самом деле бесят люди, которые наоставляют свои вопросы на десятке формуов и, не глядя на ответы на последних, идут спрашивать на другие. Dmur это про Вас тоже.
dmur (2002-08-04 19:50:00) [5]Готов, тем более, что нужно повторить не все функции проводника, а только некоторые. На самом деле проводник не так уж сложен как кажется.
Меня интересует прежде всего как заставить самодельный рабочий стол все время оставаться "сзади".
Юрий Зотов (2002-08-04 14:40:00) [6]Рабочий стол - это и есть Desltop.
Панель задач - это и есть TaskBar.
И то, и другое - это просто окна. Именно Проводник Windows их и создает. А также он создает ярлыки Рабочего стола, Главное меню и прочие элементы пользовательского интерфейса. И управляет контекстным меню для этих элементов. И запускает другие программы, когда мы щелкаем "по ним".
Поэтому Проводник и называется "Пользовательская оболочка Windows". Не будет Проводника - не будет и ничего этого. Ни дектопа, ни таскбара - вообще ничего. Просто пустой экран. И у юзера даже не будет способа запустить какую-то программу.
Если хотите, чтобы все это было - Вашей программе придется взять эти функции на себя. Или дать юзеру другой, Ваш собственный интерфейс.
Вы готовы написать ТАКУЮ программу? И у Вас есть достаточное для этого время?