Страница: 1 |
Знаю как положить bmp на рабочий стол. А вот как задать метод расположения - по центру, растянуть, замостить?
Не пробовал предварительно изменять значения ключа [Desktop] в Win.ini? Или тебе обязательно через API? Да мне нужно в реалтайме Ну так и меняй через WritePrivateProfileString Да нет, мне надо менять обои в реальном времени. То есть, вызвал функцию - обои сменились. Как через АПИ сменить обои знаю, но вот расположение их на столе зависит от предыдущих настроек. Как их изменять в реальном времени, с обновлением экрана. Пытался изменить их в Wallpaperstyle - нулевой эффект, при вызове АПИ это значение просто обнуляется... 2 LamerOnLine если все еще надо вот пример: ---- Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Const SPI_SETDESKWALLPAPER = 20 Function SetStyle(St As Long) Select Case St End Function Private Sub Form_Click() '0 - По центру Проверил на WinXPsp1 работало. Удачи! Не работает. Может Active Desktop мешает? В свойствах типа все ок, но сам экран не обновляется Ща погляжу еще, мож че упустили. Все, заработало! Надо было SystemParametersInfo SPI_SETDESKWALLPAPER, 0, "C:\1.bmp",SPIF_UPDATEINIFILE заменить на SystemParametersInfo SPI_SETDESKWALLPAPER, ByVal 0&, ByVal "C:\1.bmp", True И все ок! Страница: 1 |
Вопрос: Обои рабочего стола - расположение
Добавлено: 17.05.04 12:56
Автор вопроса: LamerOnLine | ICQ: 334781088
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #1
Добавлено: 17.05.04 13:11
Смотри здесь:
HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
HKEY_CURRENT_USER\Control Panel\Desktop\WallpaperStyle
Номер ответа: 2
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #2
Добавлено: 17.05.04 13:12
Номер ответа: 3
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #3
Добавлено: 17.05.04 14:56
Номер ответа: 4
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #4
Добавлено: 18.05.04 17:07
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 19.05.04 11:46
Номер ответа: 6
Автор ответа:
Unguided
Вопросов: 7
Ответов: 19
Профиль | | #6
Добавлено: 19.05.04 15:00
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Const SPIF_UPDATEINIFILE = &H1
Const REG_SZ = 1 ' Unicode nul terminated string
Const HKEY_CURRENT_USER = &H80000001
Dim Ret As Long
Dim Tile As String, Style As String
Case 0
Tile = "0"
Style = "0"
Case 1
Tile = "1"
Style = "0"
Case 2
Tile = "0"
Style = "2"
Case Else
End Select
RegOpenKey HKEY_CURRENT_USER, "Control Panel\Desktop", Ret
RegSetValueEx Ret, "TileWallpaper", 0, REG_SZ, ByVal Tile, Len(Tile)
RegSetValueEx Ret, "WallpaperStyle", 0, REG_SZ, ByVal Style, Len(Style)
RegCloseKey Ret
'1 - Замостить
'2 - Растянуть
SetStyle (0)
Sleep (500&
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, "C:\1.bmp", SPIF_UPDATEINIFILE
End Sub
-----
Номер ответа: 7
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #7
Добавлено: 20.05.04 09:20
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 20.05.04 09:24