Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
236 / 47 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
1

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

08.08.2013, 19:29. Просмотров 1921. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2013, 19:29
Ответы с готовыми решениями:

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

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

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

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

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

Не по теме:

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

1
es geht mir gut
11222 / 4699 / 1178
Регистрация: 27.07.2011
Сообщений: 11,426
08.08.2013, 20:01 3
Лучший ответ Сообщение было отмечено 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
236 / 47 / 6
Регистрация: 10.06.2012
Сообщений: 268
Записей в блоге: 1
08.08.2013, 21:32  [ТС] 4
Спасибо, помогло!

Тогда ещё один вопрос по теме. При смене изображений они меняется резко. Можно ли как-то сделать так, чтобы они плавно сменяли друг друга?
0
Заблокирован
10.08.2013, 18:20 5
Лучший ответ Сообщение было отмечено 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2013, 18:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.