Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2009, 17:46   #1
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
Радость как сделать аналог рабочего стола Windows?

хочу сделать замену оболочке (shell, explorer.exe) . так вот у меня проблема как мне сделать окно таким чтобы оно всегда было на заднем плане, чтобы мой рабочий стол(форма) не перекрывал собой окна других программ.
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума Ответить с цитированием
Старый 25.03.2009, 09:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например сделай его родителем рабочий стол.
Код:
SetParent(GetParent(handle),0);(
Хотя есть методики полной замены рабочих столов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.03.2009, 09:02   #3
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

точно не помню, но чтото вроде showwindow последний параметр которого может установить окно постоянно на заднем плане
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 25.03.2009, 14:01   #4
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

#2
Цитата:
Сообщение от Stilet Посмотреть сообщение
Например сделай его родителем рабочий стол.
Код:
SetParent(GetParent(handle),0);(
Хотя есть методики полной замены рабочих столов.
спасибо!!! только у меня почему то не получается или возможно что я делаю не правильно. посмотрел описание в CodeGear уже есть какая то другая функция с тем же именем, пришлось явно указать что нужно брать из User32.dll.

исходники ниже, гляньте и подскажите как правильно.

Нашел на забугорном сайте(незнаю можно здесь ссылки оставлять) следущую инфу (переведено гуглом):
Есть два Возможности для создания рабочего стола,
а) создать большие окна, который остается на заднем плане все время, вы можете потом раскрашивают в этом окне все, что вы хотите.
б) использование "виджетов", как система. Все на вашем рабочем столе будет новое окно Mini. Лучше всего было бы использовать слоистого стекла (см. MSDN) и некоторые хорошие Graphics Library (Graphics32 к примеру)
Высокую оценку благодаря: P

может ктонибудь объяснить, а еще лучше показать примерчик
Вложения
Тип файла: zip Unit1.zip (229.2 Кб, 40 просмотров)
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…

Последний раз редактировалось Stilet; 12.10.2009 в 14:46.
Paul Hindenburg вне форума Ответить с цитированием
Старый 09.10.2009, 19:12   #5
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Смех

Цитата:
хочу сделать замену оболочке (shell, explorer.exe) .
Это оч.трудно... Самому просто так не сделать такого... Надо будет слишком долго возиться...

Цитата:
так вот у меня проблема как мне сделать окно таким чтобы оно всегда было на заднем плане
Можно просто поместить своё окно на настоящий раб.стол... Или сделать "вечно неактивное окно"...
Мы тут где-то делали такое... ^____^

...ну или "глотать" все посторонние окна - на каком-то народовском сайте видел такую прогу...


Но это будет вовсе не "замена" оболочки, а какое-то подобие "виджета"...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 11.10.2009, 05:53   #6
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Это оч.трудно... Самому просто так не сделать такого... Надо будет слишком долго возиться...
кто сказал что это трудно? вот если незнал да забыл вот тут плохо а все остальное можно сделать...похоже что здесь мне не помогут...буду сам искать
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума Ответить с цитированием
Старый 11.10.2009, 14:36   #7
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Лампочка

Цитата:
пришлось явно указать что нужно брать из User32.dll.
У меня нету CodeGear, но в Делфи7 можно брать эту функцию из модуля Windows (если это та функция, что я думаю)...

Цитата:
Нашел на забугорном сайте(незнаю можно здесь ссылки оставлять) следущую инфу (переведено гуглом)
Хм... Ну официально вроде нельзя ссылки писать - надо всё цитировать тут...
А вот перевод гугла - это зря... Было бы гораздо лучше оригинальный текст увидеть...


Я просто не совсем понимаю, что именно вы хотите сделать...
Ваша прога будет полностью сносить настоящий раб.стол Windows и ставить заместо него себя? Или они должны как-то уживаться вместе?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 12.10.2009, 06:06   #8
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
А вот перевод гугла - это зря... Было бы гораздо лучше оригинальный текст увидеть...
There are two possibilites to create a desktop,
a) Create a big window which stays in the background all the time, you can then paint on this window whatever you want.
b) Use a "widget" like system. Everything on your desktop would be a new mini window. Best would be to make use of layered windows (see MSDN) and some good graphics library (graphics32 for example)
Цитата:
Я просто не совсем понимаю, что именно вы хотите сделать...
Ваша прога будет полностью сносить настоящий раб.стол Windows и ставить заместо него себя? Или они должны как-то уживаться вместе?
explorer.exe это всего лишь оболочка... не связанная с ядром системы, поэтому никакой борьбы между ним и моим приложением не будет
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума Ответить с цитированием
Старый 12.10.2009, 13:16   #9
AXS
Программер
Пользователь Подтвердите свой е-майл
 
Аватар для AXS
 
Регистрация: 03.07.2008
Сообщений: 36
По умолчанию

Надеюсь ты не забыл, что explorer.exe это и проводник, и поиск, и меню, и пуск, и панель управления, и ещё много чего... Осилишь ли?
<AXS> Если один из двух выходов - ловушка, надо найти третий... </AXS>
<AXS> "Живой" - явление временное... </AXS>

<><><> www.mak-ms.com <><><>
AXS вне форума Ответить с цитированием
Старый 12.10.2009, 14:38   #10
Paul Hindenburg
Форумчанин
 
Аватар для Paul Hindenburg
 
Регистрация: 27.07.2007
Сообщений: 123
По умолчанию

Цитата:
Сообщение от AXS Посмотреть сообщение
Надеюсь ты не забыл, что explorer.exe это и проводник, и поиск, и меню, и пуск, и панель управления, и ещё много чего... Осилишь ли?
Что это за лирические отступления от темы? Я помощи прошу, а вы все меня отговариваете, если не можете помочь, то друзья мои, не лезьте в тему.

ЗЫ
для МОДЕРАТОРА
очень жаль что с форума уходят умные люди, а присоединяются только те, кому все трудно осилить
Ну что ж… Жизнь иногда такие фертеля выкидывает, что и фантасту не приснится…
Paul Hindenburg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обои рабочего стола YakovN Мультимедиа в Delphi 1 13.03.2009 19:43
Разрешение рабочего стола. SanekIrk Общие вопросы Delphi 2 10.07.2008 18:01
Фон рабочего стола. Rahim1993 Общие вопросы Delphi 11 17.02.2008 21:40
Как изменить размер рабочего стола? Legat Win Api 5 26.10.2007 17:17
скриншоты рабочего стола Alar Общие вопросы Delphi 0 29.10.2006 10:59