سؤال

لقد قرأت في مكانين أنه يمكن تعيين خلفية سطح المكتب على مستند HTML.هل حقق أي شخص أي نجاح في تغييره برمجياً؟

يساعدني المقتطف التالي من VB6 في إعداد الأشياء لـ BMPs ولكن عندما أحاول استخدامه لـ 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

ربما هناك بعض الإعدادات الأخرى المطلوبة.أيه أفكار؟

هل كانت مفيدة؟

المحلول

لست متأكدًا مما إذا كانت هناك واجهة برمجة تطبيقات رسمية لهذا، ولكن إذا كنت ترغب في ذلك، فيمكنك استخدام Sysinternal's مراقب العملية وشاهد مفاتيح التسجيل التي يتم لمسها عند تعيين خلفية سطح مكتب HTML عبر واجهة المستخدم.إذن ستحتاج فقط إلى تكرار هذه التعديلات في شفرتك.ومع ذلك، سيكون استدعاء واجهة برمجة التطبيقات (API) هو الأفضل بكثير من حيث التوافق مع الإصدارات السابقة/الأمامية.

نصائح أخرى

أعتقد أنك بحاجة للتأكد من تشغيل "Active Desktop".

قد تحاول الإعداد HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\ForceActiveDesktopOn ل 1 (وجد هنا).

لم أجربه، لذلك لا توجد ضمانات.

حسنًا، لقد اكتشفت الإجابة على سؤالي، وذلك بفضل egl1044 on تبادل الخبراء.بشكل أساسي، يجب على المرء التحدث إلى كائن IActiveDesktop.يمكن العثور على التنفيذ الجيد لذلك، في VB6، على VB6 - ملفات JPEG كخلفيات (بدون تحويل).

أوصي بتنسيق BMP فقط.لا تستخدم ActiveDesctop، لأن جهاز الكمبيوتر الخاص بك سيعمل ببطء بعد ذلك.

يقترب: 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 معرفة مجموعة قيم التسجيل التي يجب استخدامها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top