C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Подмена рабочего стола, Как запрограммировать подмену рабочего с
freshman
Отправлено: 03.03.2007, 20:34


Ученик-кочегар

Группа: Участник
Сообщений: 3



Привет всем!
Подскажите, пожалуйста, как запрограммировать, чтобы мое приложение стало рабочим столом? Срочно нужно...
Помогите, плиз!!!
Заранее спасибо!
aquanet sk
Отправлено: 10.03.2007, 02:46


Станционный диспетчер

Группа: Участник
Сообщений: 87



вау, это как? biggrin.gif
Типа на нем можно было всякие пиктограммы распологать?
или чтобы оно закрыло собой всё и вся (поверх всех окон) ?
** freshman
Отправлено: 10.03.2007, 20:48


Не зарегистрирован







Именно, чтобы оно все собой закрыло, оставило только нижнюю "полосу с пуском".
Это что-то вроде скринсервера должно быть victory.gif
И нужно, чтобы на нем можно было создавать, удалять... файлы.
Но меня сейчас больше волнует вопрос о подмене рабочего стола
wink.gif cool.gif
Guest
Отправлено: 11.03.2007, 02:49


Не зарегистрирован







Первое, что пришло в голову после прочтения поста, это "Живой аквариум на рабочем столе", но такого рода вещи наверное делаются другими средствами, MFC например.

Форму создать нетрудно, делаем её поверх всех раз, далее можно её канву "обрезать" ( SetWindowRgn, CreateRectRgn..), либо задать размер , установив высоту формы равной Screen->WorkAreaHeight
(top, left формы по нулям)

При это высота панели задач будет: Screen->Height — Screen->WorkAreaHeight ( на всяк случай -) )

Для отображения пиктограмм файлов найдете такие компоненты, как ListView, TreeView и т.п.

Как конкретно это всё реализовать, чтобы все ярлыки Рабочего стола Windows (Мой компьютер, Корзина и т.д.) отобразились у Вас в приложении, я не знаю, честно говоря ничего подобного пока не пробовал писать.
aquanet sk
Отправлено: 11.03.2007, 02:51


Станционный диспетчер

Группа: Участник
Сообщений: 87



Но если уточните ещё более конкретно как это должно выглядеть, мож смогу что подсказать.
enton
Отправлено: 11.03.2007, 08:34


Дежурный стрелочник

Группа: Участник
Сообщений: 44



вот так можно
CODE
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,"test.bmp",SPIF_UPDATEINIFILE);

свою бпм картинку поставить на рабочий стол.
Guest
Отправлено: 11.03.2007, 11:34


Не зарегистрирован







да не, он наверное хочет Alternating Desktop сделать, но в каком виде, я не понял. Картинку / видео в студию =)
freshman
  Отправлено: 15.03.2007, 20:36


Ученик-кочегар

Группа: Участник
Сообщений: 3



Спасибо всем, кто откликнулся! yahoo.gif
В общем мне нужно, чтобы мое будущее приложение (а это изображение в движении, рыбки плавают и всякое такое... Правильно подметили — подобие "живого аквариума"), чтобы его можно было поставить на раб. стол, оно собой закрыло всякие там ярлыки и прочее, осталась лишь только полоса винды с ПУСКом. Как это реализовать?
AVC
Отправлено: 16.03.2007, 09:23


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE (freshman @ 15.03.2007, 19:36)
В общем мне нужно, чтобы мое будущее приложение ... собой закрыло всякие там ярлыки и прочее, осталась лишь только полоса винды с ПУСКом. Как это реализовать?

Окно поверх окон, максимизировать, запрет на изменение размера/состояния.

PS:
biggrin.gif Правильно, так их (пользователей). Пусть они надолго запомнят это приложение. А чего их жалеть. biggrin.gif biggrin.gif
olegenty
Отправлено: 16.03.2007, 10:12


Ветеран

Группа: Модератор
Сообщений: 2412



можно просто компьютер выключить. не вижу логики: пуск-то зачем? если твоё приложение SYSTEM_MODAL, то запуск чего-либо (по твоей постановке) произойдёт ПОД твоё окно, т.е. до выхода из программы Пуск нахрен даром не нужен. Касаемо же размещения ярлыков — см Shell — оттуда ты почерпнёшь всё, что тебя интересует, после чего можно сэмулировать некоторые элементы рабочего стола.

P.S. в детстве мы так прикалывались: делали снимок рабочего стола, делали его обоями, реальные ярлыки уносили за границу экрана, панель с пуском — тоже. пользователи укликивались по самое нехочу...
Rius
Отправлено: 16.03.2007, 10:26


Мастер участка

Группа: Участник
Сообщений: 321



некоторые видеоплееры воспроизводят фильмы на фон рабочего стола, может также можно?
freshman
Отправлено: 16.03.2007, 19:29


Ученик-кочегар

Группа: Участник
Сообщений: 3



[QUOTE] (olegenty 16.03.2007, 10:12)
можно просто компьютер выключить. не вижу логики: пуск-то зачем? если твоё приложение SYSTEM_MODAL, то запуск чего-либо (по твоей постановке) произойдёт ПОД твоё окно, т.е. до выхода из программы Пуск нахрен даром не нужен.

Нет, ПУСК нужен, задание у меня такое wink.gif В том-то и дело, нужно, чтобы и с виндой можно было работать, и с тем, что происходит на рабочем столе (на том, которым мне все нужно подменить)
А что такое Shell?
aquanet sk
Отправлено: 21.03.2007, 12:42


Станционный диспетчер

Группа: Участник
Сообщений: 87



мдаа, здесь я не смогу помочь, это (повторюсь) в сторону MFC наверное надо копать (пример прилагаю, под XP проверял — работает)



User Attached Image Скачать файл
FISH.ZIP



Вернуться в Вопросы программирования в C++Builder