Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1

Смена фонового изображения рабочего стола программно

08.08.2013, 19:29. Показов 3075. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для этого я использую API-функцию SystemParametersInfo:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Option Explicit
 
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = &H2
Const SPIF_UPDATEINIFILE = &H1
 
Private Declare Function SystemParametersInfo Lib "user32.dll" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Integer
 
Sub SetWallpaper(ByVal strFileName As String)
Dim a As Long
a = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ByVal strFileName, SPIF_SENDWININICHANGE)
End Sub
Однако использовать её не получается, т.к. при вызове процедуры SetWallpaper возникает ошибка 453: программа не может найти входную точку в библиотеку User32. В чём может быть дело?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.08.2013, 19:29
Ответы с готовыми решениями:

Обновление рабочего стола
Всем привет! Встал вопрос после создания/удаления ярлыков на рабочем столе обновить последний. Все что нашел на форуме, так это...

Отображение удаленного рабочего стола
Как сделать, так чтобы в picturebox, ну или хоть в чём отображался другой(удалённый) рабочий стол?

Как узнать разрешение рабочего стола
Как узнать разрешение рабочего стола?

4
145 / 46 / 1
Регистрация: 06.11.2012
Сообщений: 283
08.08.2013, 20:01
Цитата Сообщение от Craw Посмотреть сообщение
В чём может быть дело?
У меня было что-то похожее, только с библиотекой кернель. Я "поколдовал" с правами администратора.

Не по теме:

В твоем случае, думаю, без танцев с бубнами не обойтись

1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
08.08.2013, 20:01
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Измените объявление API
Visual Basic
1
 Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
1
238 / 49 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
08.08.2013, 21:32  [ТС]
Спасибо, помогло!

Тогда ещё один вопрос по теме. При смене изображений они меняется резко. Можно ли как-то сделать так, чтобы они плавно сменяли друг друга?
0
Заблокирован
10.08.2013, 18:20
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long  
Private Const SPI_SETDESKWALLPAPER = 20    
 
Private Sub SetWallpaper(File As String)  
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, ByVal File, True  
End Sub  
 
Private Sub Form_Load()  
SetWallpaper "C:\123.bmp"  
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2013, 18:20
Помогаю со студенческими работами здесь

Как получить hWnd рабочего стола?
(конкретно окна, где рисуеться фоновое изображение винды)

Код для смены заставки рабочего стола.
Люди, кто напишет мне действуйщий код того, как можно сменить фон рабочего стола, тот получит бесплатно мою прогу Olga v1.0!!!

Как сделать .avi-файл фоном рабочего стола?
Как сделать .avi-файл фоном рабочего стола? Т. е чтобы под иконками, программами и т. д. воспроизводилось изображение?

Как картинку сделать фоновой рабочего стола Windows'а?
Как картинку сделать фоновой рабочего стола Windows''а? Спасибо.

Смена изображения рабочего стола
Доброго времени суток. Возможно ли организовать контейнер, где будет храниться изображение, которое будет устанавливаться на рабочий стол?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru