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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2007, 19:41   #1
Legat
Пользователь
 
Регистрация: 05.10.2007
Сообщений: 34
По умолчанию Как изменить размер рабочего стола?

Как изменить размер рабочего стола (а точнее рабочей области рабочего стола) ?

Т.е. той области на которую разворачиваются приложения. Многие программы это делают. Например, стандартный таскбар и некоторые icq клиенты.

Последний раз редактировалось rpy3uH; 15.10.2007 в 20:00.
Legat вне форума Ответить с цитированием
Старый 15.10.2007, 20:07   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Рабочий стол - это окно класса SysListView32 с текстом FolderView (ХР)
Следовательно, узнав его дескрипотр с помощью функции FindWindow, можно менять его размеры и положение - SetWindowRect, SetWindowPos или другие операции, например перемещение значков - SendMessage
SkyM@n вне форума Ответить с цитированием
Старый 15.10.2007, 20:45   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Рабочий стол - это окно класса SysListView32 с текстом FolderView (ХР)
это окно является дочерним к окну c именем Program Manager. искать надо через FindWindowEx

Последний раз редактировалось rpy3uH; 15.10.2007 в 21:01.
rpy3uH вне форума Ответить с цитированием
Старый 15.10.2007, 21:21   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Совершенно верно.
SkyM@n вне форума Ответить с цитированием
Старый 23.10.2007, 17:06   #5
Legat
Пользователь
 
Регистрация: 05.10.2007
Сообщений: 34
По умолчанию

SysListView32 - это, насколько я понимаю, окно программы explorer.exe.
И часть экрана на котрую разворачиваются приложения от этого окна никак не зависят.
Дело в том , что я вообще не использую стандартный рабочий стол(explorer.exe), а тем не менее область на которую разворачиваются приложения успешно меняется некоторыми приложениями.

Размер окон explorer.exe тут совсем ни при чём. Вероятно для этого существую специальные функции. Я могу менять окна программы explorer.exe сколько угодно и это ничего не изменит, особенно , если их вообще не существует , как , например в моем случае.
Legat вне форума Ответить с цитированием
Старый 26.10.2007, 17:17   #6
Slovinsky
Пользователь
 
Регистрация: 26.10.2007
Сообщений: 79
По умолчанию

Ну и наконец правильный ответ - функция SystemParametersInfo с параметром SPI_SETWORKAREA. Подробности в MSDN:
http://msdn2.microsoft.com/en-us/library/ms724947.aspx
Slovinsky вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрешение рабочего стола. SanekIrk Общие вопросы Delphi 2 10.07.2008 18:01
Узнать размер рабочего стола Dj_smart Общие вопросы Delphi 3 26.03.2008 18:39
Фон рабочего стола. Rahim1993 Общие вопросы Delphi 11 17.02.2008 21:40
скриншоты рабочего стола Alar Общие вопросы Delphi 0 29.10.2006 10:59