2008-09-17 9 views
3

몇 가지 장소에서 바탕 화면 배경 무늬를 HTML 문서로 설정할 수 있습니다. 누구든지 프로그래밍 방식으로 성공을 거두었습니까?Windows 벽지 : BMP뿐만 아니라?

다음 VB6 스 니펫은 BMP를 설정하는 데 도움이되지만 HTML 용으로 사용하려고하면 멋진 파란색 배경이됩니다.

Dim reg As New StdRegistry 

Public Function CurrentWallpaper() As String 
    CurrentWallpaper = reg.ValueEx(HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper", REG_SZ, "") 
End Function 

Public Sub SetWallpaper(cFilename As Variant) 
    reg.ClassKey = HKEY_CURRENT_USER 
    reg.SectionKey = "Control Panel\Desktop" 
    reg.ValueKey = "Wallpaper" 
    reg.ValueType = REG_SZ 
    reg.Default = "" 
    reg.Value = cFilename 
End Sub 

Public Sub RefreshDesktop() 
    Dim oShell As Object 
    Set oShell = CreateObject("WScript.Shell") 
    oShell.Run "%windir%\System32\RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters", 1, True 
End Sub 

아마도 다른 설정이 필요할 수 있습니다. 어떤 아이디어?

답변

1

공식 API가 있는지 잘 모르겠지만 마음에 들었다면 Sysinternal의 Process Monitor을 사용하고 UI를 통해 HTML 바탕 화면 배경을 설정할 때 어떤 레지스트리 키가 사용되는지 확인할 수 있습니다. 그런 다음 코드에서 이러한 편집 작업을 반복하면됩니다. 그러나 API 호출은 역방향/정방향 호환성 측면에서 훨씬 바람직합니다.

+0

예, 시도했습니다. 나는 아직도 무슨 일을하는지 알아 내려고 노력하면서 방대한 양의 데이터를 조사하고있다. – bugmagnet

2

"액티브 데스크톱"이 켜져 있어야합니다.

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\ForceActiveDesktopOn1 (here)으로 설정해보십시오.

나는 그것을 시도하지 않았으므로 보장 할 수 없습니다.

0

가까운 방법 : http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/w2rkbook/gp.mspx?mfr=true


을하지만 내가 정책 공간에서 드릴 말씀이 점점 된 것으로 나타났다. 필자가 정말로 원했던 것은 사용자 공간에 데스크톱을 설정하고 정책 설정을 유지하는 것이 었습니다. 유용한 자료가 여기에 있습니다 : http://blogs.msdn.com/coding4fun/archive/2006/10/31/912569.aspx.

그러나 이것은 최종 해결책이 아닙니다. HTML 데스크탑의 제어는 여전히 불가능합니다.


HTML 설정이 HKCU \ Software \ Microsoft \ Internet Explorer \ Desktop \ General에 저장되어있는 것으로 보입니다. 그러나 여기에 보관하는 것만으로는 충분하지 않습니다. 나는 여전히 Windows가 사용할 레지스트리 값 집합을 알 수있는 메커니즘을 찾아야합니다.

0

BMP 형식 만 권장합니다. ActiveDesctop을 사용하지 마십시오. PC가 그 이후에 천천히 작동하기 때문입니다.