Multi-screen dynamic wallpaper generation method and device based on Windows system media service

By utilizing the WorkerW window and ActiveX controls in the Windows system to create an independent media player instance for each monitor, the high resource consumption and compatibility issues of live wallpapers in multi-monitor environments are resolved, achieving stable and efficient multi-screen live wallpaper generation.

CN121957752APending Publication Date: 2026-05-01CHENGDU MEGAYOU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHENGDU MEGAYOU TECH CO LTD
Filing Date
2025-12-24
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing methods for implementing live wallpapers in Windows systems suffer from high resource consumption and system compatibility issues, failing to meet the personalized and coordinated display needs in multi-monitor environments.

Method used

By making deep use of the Windows system's native media services and window management mechanisms, a method for generating multi-screen dynamic wallpapers based on WorkerW windows and ActiveX controls is constructed, creating an independent media player instance for each monitor to achieve synchronous or asynchronous playback control.

Benefits of technology

It enhances the visual experience, ensures the overall stability and operating efficiency of the system, and supports flexible configuration and personalized dynamic wallpaper display in multi-monitor environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121957752A_ABST
    Figure CN121957752A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-screen dynamic wallpaper generation method and device based on Windows system media service, a storage medium and computer equipment, and the method comprises the steps: obtaining the position information and size information of each connected display through a system API of a Windows system; the method comprises the following steps: for each display, creating a WorkerW window serving as a dynamic wallpaper container for the display based on position information and size information of the display, creating a media player ActiveX control on the WorkerW window, and configuring a media player into a video playing mode without an interface and a window through a COM interface provided by the media player ActiveX control, the method comprises the following steps: acquiring a media player instance corresponding to a display through a COM interface so as to form the media player instance corresponding to the display, controlling the playing of the media player instance through the COM interface, and generating and displaying dynamic wallpaper of the display based on the playing content of the media player instance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method and apparatus for generating multi-screen dynamic wallpapers based on Windows system media services, as well as storage media and computer equipment. Background Technology

[0002] With the continuous improvement of computer hardware performance and the increasing demand for personalized experiences from users, the beautification and personalization of desktop environments has become an important part of human-computer interaction. Live wallpapers, as an evolution of static image wallpapers, can enrich the desktop visual experience by playing videos, animations, or real-time rendered content, and have gradually gained popularity among users in recent years. At the same time, the widespread adoption of multi-monitor office and entertainment environments has led to higher demands from users for the coordinated and independent display of personalized content across different screens. Against this backdrop, how to efficiently and stably implement live wallpaper functionality in multi-monitor systems has become a technically valuable issue with practical applications.

[0003] Currently, implementing dynamic wallpaper functionality in Windows systems primarily relies on third-party standalone software. This software typically renders video or animation content to the desktop layer by creating full-screen windows, intercepting the graphics interface, or injecting into system processes. However, this approach has several inherent drawbacks: First, it often requires consistently high processor and graphics processor resources, potentially leading to a decline in overall system performance, especially when playing high-resolution videos. Second, due to its deep integration into the system's graphics stack or window management layer, it is prone to compatibility conflicts with security software, other screen recording tools, or specific applications, resulting in system instability or software crashes. Third, for multi-monitor environments, most existing solutions only support simple image copying (cloning) or stretching single content across all screens, lacking the ability to allocate and manage different dynamic wallpaper content for each independent monitor, thus failing to meet users' needs for personalized and coordinated multi-screen display. Summary of the Invention

[0004] In view of this, this application provides a method, apparatus, storage medium, and computer device for generating multi-screen dynamic wallpapers based on Windows system media services. It deeply utilizes the native media services and window management mechanisms of the Windows system, constructing a stable and low-power wallpaper rendering framework through WorkerW windows and ActiveX controls, fundamentally avoiding the high resource consumption and system compatibility issues often found in third-party software. Simultaneously, its architecture, which establishes an independent media player instance for each monitor, natively supports multi-monitor environments, allowing users to flexibly configure the same or different dynamic wallpapers for each screen and achieve synchronous or asynchronous playback control. This enhances the visual experience while ensuring the overall stability and operational efficiency of the system.

[0005] According to one aspect of this application, a method for generating multi-screen dynamic wallpapers based on Windows system media services is provided, comprising: Use the Windows system API to obtain the position and size information of each connected monitor; For each monitor, based on the monitor's position and size information, a WorkerW window is created as a container for the live wallpaper. A media player ActiveX control is created on the WorkerW window, and the media player is configured to a headless and windowless video playback mode through the COM interface provided by the media player ActiveX control to form a media player instance corresponding to the monitor. The playback of the media player instance is controlled through the COM interface to generate and display the live wallpaper of the monitor based on the playback content of the media player instance.

[0006] According to another aspect of this application, a multi-screen live wallpaper generation device based on Windows system media services is provided, comprising: The information acquisition module is used to obtain the position and size information of each connected monitor through the Windows system API; The wallpaper generation module is used to create a WorkerW window as a container for dynamic wallpapers for each monitor based on the monitor's position and size information. A media player ActiveX control is created on the WorkerW window, and the media player is configured to a headless and windowless video playback mode via the COM interface provided by the media player ActiveX control, thus forming a media player instance corresponding to the monitor. The playback of the media player instance is controlled through the COM interface to generate and display a dynamic wallpaper for the monitor based on the playback content of the media player instance.

[0007] According to another aspect of this application, a storage medium is provided that stores a computer program thereon, which, when executed by a processor, implements the above-described method for generating multi-screen dynamic wallpapers based on Windows system media services.

[0008] According to another aspect of this application, a computer device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor executes the program to implement the above-described method for generating multi-screen dynamic wallpapers based on Windows system media services.

[0009] By employing the aforementioned technical solutions, this application provides a method, apparatus, storage medium, and computer device for generating multi-screen dynamic wallpapers based on Windows system media services. It deeply utilizes the native media services and window management mechanisms of the Windows system, constructing a stable and low-power wallpaper rendering framework through WorkerW windows and ActiveX controls, fundamentally avoiding the high resource consumption and system compatibility issues commonly found in third-party software. Furthermore, its architecture, which establishes an independent media player instance for each monitor, natively supports multi-monitor environments, allowing users to flexibly configure the same or different dynamic wallpapers for each screen and achieve synchronous or asynchronous playback control. This enhances the visual experience while ensuring the overall stability and operational efficiency of the system.

[0010] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description

[0011] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This illustration shows a flowchart of a method for generating multi-screen dynamic wallpapers based on Windows system media services, according to an embodiment of this application. Figure 2 A flowchart illustrating a method for obtaining position and size information of a display according to an embodiment of this application is shown. Figure 3 This illustration shows a schematic diagram of a multi-screen live wallpaper generation device based on Windows system media services, according to an embodiment of this application. Figure 4 A schematic diagram of the device structure of a computer device provided in an embodiment of this application is shown. Detailed Implementation

[0012] The present application will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the embodiments of the present application can be combined with each other.

[0013] This embodiment provides a method for generating multi-screen live wallpapers based on Windows system media services, such as... Figure 1 As shown, the method includes: Step 101: Obtain the position and size information of each connected monitor through the Windows system API.

[0014] Step 102: For each monitor, based on the monitor's position and size information, create a WorkerW window as a container for the live wallpaper. Create a media player ActiveX control on the WorkerW window, and configure the media player to a headless and windowless video playback mode through the COM interface provided by the media player ActiveX control to form a media player instance corresponding to the monitor. Control the playback of the media player instance through the COM interface to generate and display the live wallpaper of the monitor based on the playback content of the media player instance.

[0015] This application provides a method for generating multi-screen dynamic wallpapers based on Windows system media services. First, by calling the Windows system application programming interface (API), detailed information about all monitors currently connected to the computer is obtained. This information mainly includes the position coordinates of each monitor in the virtual desktop coordinate system and its physical pixel size. This allows the system to accurately perceive the screen layout and boundaries, providing the necessary spatial parameters for subsequently creating wallpaper containers independently for each monitor.

[0016] Next, for each identified monitor, a special window can be created within the corresponding screen area based on the monitor's location and size information to serve as a container for the dynamic wallpaper. This window is internally referred to as a WorkerW window in the Windows system. The WorkerW window provides a dedicated "canvas" for video rendering located at the bottom layer of the system desktop without interfering with desktop icons and other window operations of the user.

[0017] Furthermore, within the WorkerW window created above, an ActiveX control for the Windows Media Player (i.e., the Windows Media Player ActiveX control) built into the Windows system is instantiated. An ActiveX control is a software component that can be embedded into other program windows. Through the Component Object Model (COM) interface exposed by this control, the media player can be configured to completely hide its own user interface and set the video output mode to windowless rendering. That is, the media player will run in the background, and the video image decoded by the media player will be directly drawn onto the "canvas" of the WorkerW window, without any separate player window popping up, thus achieving visual integration of the video content with the desktop background. Here, the COM interface is a standard functional interface used for inter-program communication and control.

[0018] Subsequently, the media player ActiveX control configured as described above becomes a fully functional media player instance dedicated to that monitor. Each connected monitor corresponds to an independent media player instance, and these media player instances are isolated from each other and do not interfere with each other, thus allowing different live wallpaper content to be set, managed, and played for different monitors.

[0019] After creating a corresponding media player instance for the monitor, control commands can be sent to the media player instance of the corresponding monitor through the aforementioned COM interface, such as starting playback or specifying a playback file. Each media player instance executes commands independently, continuously outputting and rendering its associated video content onto the attached WorkerW window. Since the WorkerW window is pre-positioned and fills the entire monitor screen, and is located at the bottom layer of the desktop, the video content becomes the monitor's dynamic wallpaper, just like a traditional static wallpaper.

[0020] By applying the technical solution of this embodiment, a stable and low-power wallpaper rendering framework is constructed through the native media services and window management mechanism of the Windows system using WorkerW windows and ActiveX controls. This fundamentally avoids the high resource consumption and system compatibility issues often found in third-party software. Furthermore, its architecture, which establishes an independent media player instance for each monitor, natively supports multi-monitor environments, allowing users to flexibly configure the same or different dynamic wallpapers for each screen and achieve synchronous or asynchronous playback control. This enhances the visual experience while ensuring the overall stability and operational efficiency of the system.

[0021] Optionally, in this embodiment of the application, step 101 includes: Step 101-1: Call the Windows system API to iterate through all currently connected monitors on the Windows system.

[0022] Step 101-2: For each monitor traversed, obtain the unique identifier handle of the monitor, and based on the unique identifier handle, query the monitor information structure corresponding to the monitor, and parse the position information of the monitor's work area in the virtual desktop coordinate system, as well as the width and height dimensions of the monitor in pixels from the monitor information structure.

[0023] In this embodiment, an enumeration process can be initiated by calling a specific API function such as EnumDisplayMonitors, after which all currently physically connected and active displays can be automatically traversed.

[0024] For each monitor identified during the enumeration process, a unique identifier handle is returned. This handle is a numerical identifier assigned by the operating system to each resource (in this case, the monitor), used to uniquely refer to that monitor in all subsequent system calls. After obtaining this unique identifier handle, you can further call API functions such as GetMonitorInfo, passing in the unique identifier handle. This function can populate a memory block named a "monitor information structure" (e.g., MONITORINFOEX), which is a standard data format defined by the operating system specifically used to store detailed configuration information for a particular monitor.

[0025] Next, key geometric data is parsed from the pre-filled monitor information structure. This structure contains the position and size information of the workspace within the virtual desktop coordinate system. Here, the virtual desktop coordinate system is a logically unified coordinate plane on which the Windows system arranges all physical monitors to form a continuous virtual work area. The parsed data can include the X and Y coordinates (position information) of the top-left corner of the monitor's rectangular area within the virtual desktop coordinate system, as well as the width and height of the rectangle in pixels (size information). These precise geometric parameters are the fundamental basis for subsequently creating size-matched and position-aligned dynamic wallpaper window containers for each monitor.

[0026] Optionally, in this embodiment of the application, step 102, "creating a WorkerW window as a dynamic wallpaper container for the display based on the display's position information and size information," includes: determining the creation position of the WorkerW window in the virtual desktop coordinate system according to the display's position information; setting the width and height of the WorkerW window according to the display's size information so that the WorkerW window is the same size as the display's screen area; obtaining the Windows system desktop window and sending a preset message to the system desktop window to create a WorkerW window with borderless, bottom-mounted attributes and located below the desktop icon layer at the creation position through the system desktop window.

[0027] In this embodiment, firstly, the creation position of the WorkerW window in the virtual desktop coordinate system is determined based on the monitor's position information. The monitor's position information is obtained based on coordinates in the virtual desktop coordinate system, which is the unified position reference system used by the Windows system to logically connect multiple physical monitors into a continuous workspace. Based on these coordinates, the exact pixel point in the virtual desktop coordinate system where the top-left corner of the WorkerW window to be created should be located can be precisely specified, thus ensuring that the WorkerW window is completely aligned spatially with the screen area of ​​the physical monitor, laying the foundation for accurate wallpaper positioning.

[0028] Next, based on the monitor's dimensions—specifically, the screen's pixel width and height—the geometric size of the WorkerW window is set. This ensures the created WorkerW window is the same size as the monitor's viewable area, meaning its length and width are identical. In other words, the WorkerW window will be set to a borderless, full-screen size, providing a perfect canvas for the subsequent video content that completely covers the screen without any extra edges. This step guarantees that the live wallpaper can achieve a full-screen display effect without black borders or cropping.

[0029] Subsequently, the system desktop window of the Windows system (i.e., the bottom-level system window that contains all desktop icons and the default wallpaper, such as the Progman window) is retrieved, and a specific preset window message (e.g., message value 0x052C) is sent to this system desktop window. This preset window message is an instruction that can trigger the internal logic of the Windows Desktop Manager itself to automatically create a child window with specific attributes below the desktop icon layer, namely the WorkerW window. Through parameter control, the created WorkerW window can have the key attributes of being borderless (hiding window decorations), bottom-aligned (ensuring it is at the bottom of the Z-order), and located below the desktop icon layer. This makes the WorkerW window an invisible and stable underlying container on which video content can be rendered, while desktop icons and user windows are naturally superimposed on top of it, thus achieving a true desktop background visual effect.

[0030] This application utilizes the native Windows system mechanism to construct the wallpaper container. By sending specific messages to the system desktop window, the system is driven to create a WorkerW window itself, rather than drawing a full-screen window manually. This ensures the stability and compatibility of the WorkerW window as a container. The created WorkerW window is seamlessly integrated into the system desktop hierarchy, ensuring that the dynamic wallpaper can function as a true background like a static wallpaper. At the same time, it allows each monitor in a multi-screen environment to independently and stably manage media video playback instances.

[0031] Optionally, in this embodiment of the application, step 102, "configuring the media player to a headless and windowless video playback mode through the COM interface provided by the media player ActiveX control," includes: By using the COM interface provided by the ActiveX control of the media player, the user interface mode of the media player is set to no mode, and the video rendering mode is set to no window mode, so that the playback content of the media player instance is directly rendered by the WorkerW window.

[0032] In this embodiment, firstly, the media player's user interface mode is set to "modeless" by calling the relevant methods or properties in the COM interface that manage the user interface. Specifically, this can be achieved by setting the uiMode property of the media player ActiveX control to none. This instructs the media player to hide all its control elements, such as play / pause buttons, progress bars, volume sliders, and any menus, so that the media player instance will not display any visual interface during runtime, becoming a completely invisible processing unit running in the background, responsible only for decoding video files and processing audio streams.

[0033] Next, via the COM interface, the media player's video output is set to windowless mode, meaning the media player is instructed not to create or manage its own system windows for displaying video images. In normal mode, the media player can create a separate window to display the video images; however, in windowless mode, the media player only generates pixel data for video frames and outputs this data to a specified rendering target. Here, the rendering target is the WorkerW window. By establishing this connection, the decoded video data stream is directly sent to the WorkerW window for rendering.

[0034] Finally, after these two key configurations, the media player instance can efficiently collaborate with the WorkerW window for rendering. The media player silently decodes the video in the background, while the WorkerW window acts as the foreground display panel, directly receiving and presenting video frames. Because the WorkerW window itself is set to be borderless, full-screen, and located at the bottom of the desktop, the video content can be seamlessly displayed, filling the entire screen, perfectly simulating the visual position and effect of a traditional static wallpaper, but with dynamic content.

[0035] Optionally, after step 102, the method further includes: Step 103: Listen for display configuration change events in the Windows system, including display connection change events, display disconnection change events, and display settings change events.

[0036] Step 104: When a monitor connection change event is detected, the system API of the Windows system is used to obtain the location and size information of each currently connected monitor, and the newly added monitor is identified. Based on the location and size information of the newly added monitor, a corresponding media player instance is created for the newly added monitor.

[0037] Step 105: When a monitor disconnection event is detected, the system API of the Windows system is used to obtain the location and size information of each currently connected monitor, and the disconnected monitor is identified and a resource release operation is performed on the disconnected monitor.

[0038] Step 106: When a display settings change event is detected, the location and size information of each currently connected display are obtained again through the Windows system API, and the display with the changed settings is identified. Based on the location and size information of the display with the changed settings, the corresponding media player instance is updated.

[0039] In this embodiment, after generating and displaying the live wallpaper on the monitor, it is also possible to listen for display configuration change events from the Windows system. The Windows system provides a set of standard APIs (such as WMI event subscriptions) that allow applications to be aware of hardware configuration changes. Specifically, by calling the relevant APIs, one can register to listen for display configuration change events. Display configuration change events can include physical connection-level display connection and disconnection changes, as well as software-level display setting changes (such as changes to resolution, refresh rate, and the order of multiple monitors). Establishing this listening mechanism allows for real-time awareness of any dynamic changes in the user's multi-screen environment, providing trigger signals for subsequent adaptive adjustments.

[0040] When a physical monitor connection change event is detected (i.e., a new monitor is connected to the system), the initial steps are first re-executed, calling the system API to obtain complete and up-to-date location and size information for all currently connected monitors. The newly added monitor is accurately identified by comparing the new monitor list with the list saved before the change (e.g., comparing the monitor's unique handle or location coordinates). Then, for this new monitor, a corresponding WorkerW window is created based on its location and size, the media player ActiveX control is initialized, and it is configured to a headless, windowless playback mode via the COM interface, thus creating a completely new, independent media player instance. This allows the newly connected monitor to immediately display live wallpapers without requiring the user to manually restart the application or reconfigure it.

[0041] Conversely, when a monitor disconnection event is detected (i.e., a monitor is removed), the current monitor configuration information is retrieved again. By comparison, the disconnected monitor is identified. For this physically non-existent monitor, its corresponding media player instance also becomes meaningless. Therefore, resource release operations can be performed. Specifically, this operation may include: commanding the corresponding media player instance to stop playback and release its occupied decoding resources and memory via the COM interface, then destroying the WorkerW window hosting it, and finally completely removing it from the instance management list. This prevents memory leaks and unnecessary system resource consumption, ensuring the long-term operational stability of the application in dynamic environments.

[0042] When a monitor settings change event is detected, it indicates that the software configuration of one or more monitors has changed, but their physical connection status remains the same. At this point, the latest monitor information can be retrieved again. By comparing the information before and after the change (such as resolution and workspace coordinates), the specific monitor whose settings have changed can be identified. For these monitors, instead of simply destroying and rebuilding their instances, an efficient update operation is performed. Specifically, the position and size attributes of their corresponding WorkerW windows are adjusted to match the new screen area, and the internal media player instance is notified via the COM interface to adapt to the new rendering resolution or refresh rate. This update mechanism can maintain the continuity of wallpaper playback in most cases (such as without interrupting video playback), adapting to system settings adjustments in a lighter and faster way, providing users with a seamless experience.

[0043] This application embodiment achieves the adaptive capability of a multi-screen dynamic wallpaper system through a system-level event listening and dynamic response mechanism. It transforms the original static wallpaper settings into dynamic wallpaper settings that can intelligently follow the real-time changes in hardware environment and system settings. Whether it is hot-plugging the monitor or adjusting the settings at any time, it can automatically, accurately and efficiently complete the corresponding updates, thereby providing users with a stable, consistent and uninterrupted dynamic visual experience in complex and ever-changing multi-screen usage scenarios.

[0044] Optionally, in this embodiment of the application, step 102, "controlling the playback of the media player instance through the COM interface," includes: The media player instance can independently associate media files or network streaming media addresses through the COM interface to configure the playback content; it can also independently set playback control parameters through the COM interface to configure the playback strategy of the media player instance, wherein the playback control parameters include loop mode, playback speed, and volume; and it can control the playback, pause, or stop operation of the media player instance by sending independent control commands to the COM interface.

[0045] In this embodiment, firstly, by calling a method in the COM interface used to specify the media source (such as the set_URL method of the IWMPPlayer4 interface), the corresponding media player instance is associated with its own playback content. This playback content can be a locally stored video file path or a network streaming media address (URL). Since the COM interface calls for each media player instance are independent, completely different video or streaming media sources can be specified for different displays, thereby achieving differentiation and personalization of multi-screen content.

[0046] Next, playback control parameters for each media player instance are further configured via the COM interface. These parameters can include loop mode (setting whether the video stops, repeats, or shuffles after playback ends), playback speed (controlling the video's speed), and volume (which can be adjusted independently or muted). These settings are configured through corresponding properties (such as `settings.setMode("loop", true)`) or methods in the COM interface, allowing each media player instance to not only play different content but also to play it at different rhythms, frequency ranges, and audio configurations.

[0047] Finally, playback status is directly manipulated by sending real-time, independent control commands to the COM interface. These control commands correspond to the basic functions of the media player and can include play, pause, stop, etc. Because the control commands are sent through an independent interface channel for each media player instance, it is possible to precisely control the wallpaper on a specific monitor to pause while other monitors continue playing, or to have all monitors start playing synchronously. This independent command channel design ensures that the control of multiple screen wallpapers does not interfere with each other.

[0048] Optionally, in this embodiment of the application, the step of "independently associating media files or network streaming media addresses through the COM interface to configure the playback content of the media player instance" includes: Multidimensional data is collected, including multiple dimensions such as display dimension data, time dimension data, environmental dimension data, and user preference dimension data. This multidimensional data is input into a preset content decision analysis module to extract data features from each dimension. These features are then concatenated, and based on the concatenation result, at least one recommended media content identifier is determined for the display. This recommended media content identifier points to a local media file or a network streaming media address. Based on the recommended media content identifier, the media resource pointed to by the identifier is associated with and set as the currently playing content through the COM interface of the media player instance corresponding to the display.

[0049] In this embodiment, firstly, multidimensional data is collected, which serves as the basis for automatically selecting live wallpaper content. Specifically, the multidimensional data may include display dimension data, which can include display orientation data, such as determining whether the display is placed horizontally, vertically, or even tilted, or its orientation, using sensors. Furthermore, the display dimension data may also include the display's identifier, physical dimensions, and the system load status of the host computer hosting the display.

[0050] In addition to display-level data, it can also include one or more of the following: time-level data, environmental-level data, and user preference-level data. Time-level data can include the current time, day of the week, season, solar term, holiday, etc. Environmental-level data can be obtained through online services and includes geographical location, weather conditions, etc. User preference-level data can be determined based on historical selection records or explicitly set tags.

[0051] Next, the collected multidimensional data is input into a pre-defined content decision analysis module. This module can be a pre-trained machine learning model. The module first analyzes each type of input data (such as orientation, weather, and time) and extracts data features that characterize its essence. For example, it extracts the feature of whether it is nighttime from time data and the feature of whether it is sunny from weather data. Then, the module concatenates these feature vectors from different dimensions, fusing them into a unified, high-dimensional feature representation to comprehensively describe the current display's contextual state. Based on this fused feature representation, the module runs its internal decision logic (such as rule matching or model inference) to ultimately determine one or more recommended media content identifiers that best match the current context for the current display. This identifier can be an address pointing to a specific media resource, such as a file path on a local hard drive or a URL for an online streaming media.

[0052] Finally, based on the recommended media content identifier, the corresponding media resource is located. Then, by calling the COM interface corresponding to the monitor, the resolved media resource path or network address is passed to the media player instance. This allows the numeric identifier recommended by the preset content decision analysis module to be associated with and set as the currently playing content that the media player instance will decode and render, thereby achieving automatic and intelligent switching of wallpaper content.

[0053] This application's embodiments upgrade the selection of dynamic wallpaper content from static, manual configuration to dynamic, context-aware intelligent recommendation, achieving a high degree of personalization and scene adaptability: wallpaper content can automatically and intelligently match and switch based on the physical orientation of the monitor, changes in time of day, real-time environmental conditions, and even the user's personal preferences, which can greatly enrich the user experience.

[0054] Furthermore, as Figure 1 In its specific implementation, this application provides a multi-screen live wallpaper generation device based on Windows system media services, such as... Figure 3 As shown, the device includes: The information acquisition module is used to obtain the position and size information of each connected monitor through the Windows system API; The wallpaper generation module is used to create a WorkerW window as a container for dynamic wallpapers for each monitor based on the monitor's position and size information. A media player ActiveX control is created on the WorkerW window, and the media player is configured to a headless and windowless video playback mode via the COM interface provided by the media player ActiveX control, thus forming a media player instance corresponding to the monitor. The playback of the media player instance is controlled through the COM interface to generate and display a dynamic wallpaper for the monitor based on the playback content of the media player instance.

[0055] Optionally, the information acquisition module is used to: Call the Windows system API to iterate through all currently connected monitors on the Windows system. For each monitor traversed, obtain the unique identifier handle of the monitor, and based on the unique identifier handle, query the monitor information structure corresponding to the monitor. From the monitor information structure, parse out the position information of the monitor's work area in the virtual desktop coordinate system, as well as the width and height dimensions of the monitor in pixels.

[0056] Optionally, the wallpaper generation module is used for: Based on the position information of the display, determine the creation position of the WorkerW window in the virtual desktop coordinate system; Based on the size information of the display, set the width and height of the WorkerW window so that the WorkerW window is the same size as the screen area of ​​the display; Obtain the Windows system desktop window and send a preset message to the system desktop window to create a WorkerW window with no border, bottom position, and located below the desktop icon layer at the creation location through the system desktop window.

[0057] Optionally, the wallpaper generation module is further configured to: By using the COM interface provided by the ActiveX control of the media player, the user interface mode of the media player is set to no mode, and the video rendering mode is set to no window mode, so that the playback content of the media player instance is directly rendered by the WorkerW window.

[0058] Optionally, the device further includes a monitoring module; the monitoring module is used for: After generating and displaying the live wallpaper for the monitor, the system listens for monitor configuration change events in the Windows system, including monitor connection change events, monitor disconnection change events, and monitor settings change events. When a monitor connection change event is detected, the system re-obtains the location and size information of each currently connected monitor through the Windows system API, identifies the newly added monitor, and creates a corresponding media player instance for the newly added monitor based on the location and size information of the newly added monitor. When a monitor disconnection event is detected, the system re-obtains the position and size information of each currently connected monitor through the Windows system API, identifies the disconnected monitor, and performs a resource release operation on the disconnected monitor. When a display settings change event is detected, the system re-obtains the location and size information of each currently connected display through the Windows system API, identifies the display with the changed settings, and updates the corresponding media player instance based on the location and size information of the changed display.

[0059] Optionally, the wallpaper generation module is further configured to: The media player instance can be configured to play content by independently associating media files or network streaming media addresses through the COM interface. Playback control parameters can be set independently through the COM interface to configure the playback strategy of the media player instance, wherein the playback control parameters include loop mode, playback speed and volume; The playback, pause, or stop operation of the media player instance can be controlled by sending independent control commands to the COM interface.

[0060] Optionally, the wallpaper generation module is further configured to: Collect multidimensional data, which includes multiple dimensions such as display dimension data, time dimension data, environmental dimension data, and user preference dimension data; The multidimensional data is input into a preset content decision analysis module to extract data features of each dimension based on the preset content decision analysis module, and the data features of each dimension are spliced ​​together. Based on the splicing result, at least one recommended media content identifier corresponding to the display is determined, wherein the recommended media content identifier points to a local media file or a network streaming media address. Based on the recommended media content identifier, the media resource pointed to by the recommended media content identifier is associated with and set as the currently playing content through the COM interface of the media player instance corresponding to the display.

[0061] It should be noted that for other corresponding descriptions of the functional units involved in the multi-screen live wallpaper generation device based on Windows system media services provided in this application embodiment, please refer to... Figures 1 to 2 The corresponding descriptions in the method will not be repeated here.

[0062] This application also provides a computer device, which may specifically be a personal computer, a server, a network device, etc. Figure 4 As shown, the computer device includes a bus, a processor, memory, and a communication interface, and may also include an input / output interface and a display device. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores location information. The network interface allows communication with external terminals via a network connection. When the computer program is executed by the processor, it implements the steps in the various method embodiments.

[0063] Those skilled in the art will understand that Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0064] In one embodiment, a computer-readable storage medium is provided, which may be non-volatile or volatile, having stored thereon a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0065] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0066] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0067] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0068] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0069] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for generating multi-screen live wallpapers based on Windows system media services, characterized in that, include: Use the Windows system API to obtain the position and size information of each connected monitor; For each monitor, based on the monitor's position and size information, a WorkerW window is created as a container for the live wallpaper. A media player ActiveX control is created on the WorkerW window, and the media player is configured to a headless and windowless video playback mode through the COM interface provided by the media player ActiveX control to form a media player instance corresponding to the monitor. The playback of the media player instance is controlled through the COM interface to generate and display the live wallpaper of the monitor based on the playback content of the media player instance.

2. The method according to claim 1, characterized in that, The process of obtaining the position and size information of each connected monitor through the Windows system API includes: Call the Windows system API to iterate through all currently connected monitors on the Windows system. For each monitor traversed, obtain the unique identifier handle of the monitor, and based on the unique identifier handle, query the monitor information structure corresponding to the monitor. From the monitor information structure, parse out the position information of the monitor's work area in the virtual desktop coordinate system, as well as the width and height dimensions of the monitor in pixels.

3. The method according to claim 1, characterized in that, The step of creating a WorkerW window as a dynamic wallpaper container for the display based on the display's position and size information includes: Based on the position information of the display, determine the creation position of the WorkerW window in the virtual desktop coordinate system; Based on the size information of the display, set the width and height of the WorkerW window so that the WorkerW window is the same size as the screen area of ​​the display; Obtain the Windows system desktop window and send a preset message to the system desktop window to create a WorkerW window with no border, bottom position, and located below the desktop icon layer at the creation location through the system desktop window.

4. The method according to claim 1, characterized in that, The step of configuring the media player to a headless and windowless video playback mode through the COM interface provided by the media player ActiveX control includes: By using the COM interface provided by the ActiveX control of the media player, the user interface mode of the media player is set to no mode, and the video rendering mode is set to no window mode, so that the playback content of the media player instance is directly rendered by the WorkerW window.

5. The method according to claim 1, characterized in that, After generating and displaying the live wallpaper for the display, the method further includes: Listen for display configuration change events in the Windows system, including display connection change events, display disconnection change events, and display settings change events. When a monitor connection change event is detected, the system re-obtains the location and size information of each currently connected monitor through the Windows system API, identifies the newly added monitor, and creates a corresponding media player instance for the newly added monitor based on the location and size information of the newly added monitor. When a monitor disconnection event is detected, the system re-obtains the position and size information of each currently connected monitor through the Windows system API, identifies the disconnected monitor, and performs a resource release operation on the disconnected monitor. When a display settings change event is detected, the system re-obtains the location and size information of each currently connected display through the Windows system API, identifies the display with the changed settings, and updates the corresponding media player instance based on the location and size information of the changed display.

6. The method according to claim 1, characterized in that, The step of controlling the playback of the media player instance through the COM interface includes: The media player instance can be configured to play content by independently associating media files or network streaming media addresses through the COM interface. Playback control parameters can be set independently through the COM interface to configure the playback strategy of the media player instance, wherein the playback control parameters include loop mode, playback speed and volume; The playback, pause, or stop operation of the media player instance can be controlled by sending independent control commands to the COM interface.

7. The method according to claim 6, characterized in that, The step of independently associating media files or network streaming media addresses through the COM interface to configure the playback content of the media player instance includes: Collect multidimensional data, which includes multiple dimensions such as display dimension data, time dimension data, environmental dimension data, and user preference dimension data; The multidimensional data is input into a preset content decision analysis module to extract data features of each dimension based on the preset content decision analysis module, and the data features of each dimension are spliced ​​together. Based on the splicing result, at least one recommended media content identifier corresponding to the display is determined, wherein the recommended media content identifier points to a local media file or a network streaming media address. Based on the recommended media content identifier, the media resource pointed to by the recommended media content identifier is associated with and set as the currently playing content through the COM interface of the media player instance corresponding to the display.

8. A multi-screen live wallpaper generation device based on Windows system media services, characterized in that, include: The information acquisition module is used to obtain the position and size information of each connected monitor through the Windows system API; The wallpaper generation module is used to create a WorkerW window as a container for dynamic wallpapers for each monitor based on the monitor's position and size information. A media player ActiveX control is created on the WorkerW window, and the media player is configured to a headless and windowless video playback mode via the COM interface provided by the media player ActiveX control, thus forming a media player instance corresponding to the monitor. The playback of the media player instance is controlled through the COM interface to generate and display a dynamic wallpaper for the monitor based on the playback content of the media player instance.

9. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.

10. A computer device, comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 7.