| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как узнать путь к wallpaper |
| Автор: Kesh 15.2.2006, 21:48 |
| Дело в том, что если картинка BMP, то имя файла хранится в HKCU\Control Panel\Desktop\Wallpaper, если картинка, скажем в JPEG, то имя файла хранится в HKCU\Control Panel\Desktop\ConvertedWallpaper и но есть еще и ключ OriginalWalllpaper, да еще и PrevWallpaper... Так вот есть вопрос... Откуда и как вытащить имя файла текущей Wallpaper... Если можно с примером... |
| Автор: Kesh 16.2.2006, 09:02 |
| Albinos_x, вот-вот... А как узнать, какая картинка сейчас установлена??? |
| Автор: Snowy 16.2.2006, 10:37 |
| У меня картинка всегда здесь: HKCU\Control Panel\Desktop\Wallpaper Независимо от формата. Если формат не bmp, то конвертится в AppData в bmp. Но прописана все равно здесь. |
| Автор: Kesh 16.2.2006, 11:35 |
| Snowy, а у меня нет... если она в jpg, то она остается в convertedwallpaper как jpg, а в Appdata записывается как bmp... |
| Автор: Snowy 16.2.2006, 11:48 |
| А зачем тебе конвертед валпапер? Винда же работает не с оригиналом, а с bmp. А bmp всегда прописан в реестре в одном месте. |
| Автор: Kesh 17.2.2006, 00:11 |
| Snowy, в каком? |
| Автор: Quadr0 17.2.2006, 00:59 |
| ... |
| Автор: Kesh 17.2.2006, 15:34 |
| Quadr0, а у меня там только bmp-шки хранятся... |
| Автор: Snowy 17.2.2006, 15:55 |
| Ну так и юзай bmpшку. Зачем тебе жпега??? |
| Автор: Marriage 17.2.2006, 17:04 |
| А разве Wallpaper не храниться в файле C:\WINDOWS\ACD Wallpaper.bmp ? |
| Автор: Snowy 17.2.2006, 17:14 |
| Давайте посчитаем на пальцах процент людей, которые ставят обоину через ACDSee... |
| Автор: Kesh 18.2.2006, 11:44 |
| Мне надо запоминать wallpaper пользователя, чтобы вернуть его после работы программы... http://forum.vingrad.ru/index.php?showtopic=83650 |
| Автор: z-END 18.2.2006, 12:46 |
| ActiveDesktop здесь: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\General Обычная обоина здесь: HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper |
| Автор: Albinos_x 18.2.2006, 12:56 | ||
ну так пользуйся HKCU\Control Panel\Desktop\Wallpaper если картинка находится по адресу: ..\Documents and Settings\User\Local Settings\Application Data\Microsoft и ты собираешся устанавливать не .bmp картинку, то делать резервную копию картинки, а потом устанавливать свою... если прога завершает работу, то копировать старый рисунок обратно в папку и устанавливать на рабочий стол... если предпологается, что прога будет работать постоянно в фоновом режиме и загружаться через автозагрузку, то проще использовать функцию SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, {имя файла}, Update); параметр Update может принимать значения: SPIF_UPDATEINIFILE - установить обои постоянно; SPIF_SENDCHANGE - установить обои только на текущий сеанс работы пользователя в твоём случае при загрузке программы устанавливать обои параметром SPIF_SENDCHANGE, т.е если пользователь отключит прогу досрочно или через диспетчер задач, то обои останутся до перезагрузки. ну и при нормальном завершении можно также восстановить обои. |
| Автор: Kesh 19.2.2006, 00:18 |
| Albinos_x, в HKCU\Control Panel\Desktop\Wallpaper хранится только BMP wallpaper, если пользователь устанавливал ее из JPG, то она хранится не в HKCU\Control Panel\Desktop\Wallpaper, а в ..\Documents and Settings\User\Local Settings\Application Data\Microsoft... Поэтому я и не знаю, какая из этих картинок действительна... Откуда мне брать путь?... Как мне узнать, wallpaper сейчас установлен для ActiveDesktop или как обычная картинка?.. |
| Автор: Albinos_x 19.2.2006, 00:40 |
| винда использует BMP, поэтому она преобразует картинку в BMP и сохраняет преобразованную картинку в указанную мной выше папку, и от туда эта картинка и устанавливается, .... т.е. для чистоты эксперимента поставь JPG картинку, а потом удали и перезагрузись... картинка останется, а вот если ты тоже проделаешь с BMP, то она по идее и не даст тебе её удалить, но если удалишь, то после перезагрузки на рабочем столе не будет установлено вообще картинки... в общем тебе нужно использовать адрес находящийся в HKCU\Control Panel\Desktop\Wallpaper |
| Автор: Bog d`An 19.2.2006, 07:26 | ||
меня посчитай Kesh, чем тебе так БМП не нравится? |