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

Вниз

Замена Windows Explorer   Найти похожие ветки 

 
dmur   (2002-08-04 13:57) [0]

В силу определенных обстоятельств мне приходится писать прогу, заменяющую собой Проводник Windows. В связи с чем у меня возникла масса вопросов, главные и из которых ниже:

1. Как сделать так чтобы окно являющееся Desktop-ом всегда находилось сзади запущенных им же программ (их окон), так как это делает Рабочий стол?

2. Как сделать так чтобы окно являющееся ТaskBar-ом всегда находилось снизу , так как это делает Панель задач?

3. Нет ли у кого исходников некоторого подобия Панели задач?

4. Нет ли у кого документации по данной тематике?

Код должен работать во всех ОС: 95/98/Me/XP/NT4/2000

Заранее благодарен всем ответившим на мои вопросы.


 
Юрий Зотов ©   (2002-08-04 14:40) [1]

Рабочий стол - это и есть Desltop.
Панель задач - это и есть TaskBar.

И то, и другое - это просто окна. Именно Проводник Windows их и создает. А также он создает ярлыки Рабочего стола, Главное меню и прочие элементы пользовательского интерфейса. И управляет контекстным меню для этих элементов. И запускает другие программы, когда мы щелкаем "по ним".

Поэтому Проводник и называется "Пользовательская оболочка Windows". Не будет Проводника - не будет и ничего этого. Ни дектопа, ни таскбара - вообще ничего. Просто пустой экран. И у юзера даже не будет способа запустить какую-то программу.

Если хотите, чтобы все это было - Вашей программе придется взять эти функции на себя. Или дать юзеру другой, Ваш собственный интерфейс.

Вы готовы написать ТАКУЮ программу? И у Вас есть достаточное для этого время?


 
dmur   (2002-08-04 19:50) [2]

Готов, тем более, что нужно повторить не все функции проводника, а только некоторые. На самом деле проводник не так уж сложен как кажется.

Меня интересует прежде всего как заставить самодельный рабочий стол все время оставаться "сзади".



 
Song ©   (2002-08-04 19:53) [3]

2dmur (04.08.02 19:50)
SetWindowPos()

P.S. На самом деле бесят люди, которые наоставляют свои вопросы на десятке формуов и, не глядя на ответы на последних, идут спрашивать на другие. Dmur это про Вас тоже.


 
Юрий Зотов ©   (2002-08-04 20:16) [4]

Ну что ж, 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;


 
dmur   (2002-08-04 20:27) [5]

Для Юрий Зотов: Спасибо.

Для Song: Насчет людей которые наоставляют свои вопросы на десятке формуов -- я ответил здесь, еще не успев еще прочитать Ваш ответ на www.sources.ru. Так нервно реагировать в любом случае не стоит.


 
Кулюкин Олег ©   (2002-08-05 09:05) [6]

2 dmur
А зачем Вам подменять Эксплорер???
Это путь к погибели (или к геморрою, именно с двумя "ЭР").

Обрисуйте проблемму, может есть способ сделать это иначе, не пытаясь переписать половину ОС.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
1-48057
snoup
2002-08-02 20:14
2002.08.15
Скажите пожалуйста как сделать чтобы в листбоксе отображались кон


1-48070
^SANYA
2002-08-04 17:47
2002.08.15
TMemoryStatus - объясните, пожалуйста


6-48238
KPV-10k
2002-05-24 21:18
2002.08.15
Опять про TServerSocket и TClientSocket...


1-48037
Romich
2002-08-03 21:13
2002.08.15
SOS!


1-48022
Коля
2002-08-03 12:10
2002.08.15
Картинки для ToolBox a