How to install screensaver programmatically?

前端 未结 2 1910
鱼传尺愫
鱼传尺愫 2021-01-14 08:35

How to install (register) screensaver programmatically?

2条回答
  •  心在旅途
    2021-01-14 08:40

    AFAIk there are two ways:

    1. Permanent registration by copying it to a location that windows searches, such as System32. But don't hardcode "C:\Windows\System32". You need to query the system to find out where the system directory is.
    2. Calling the Install action on the .scr file, which results in temporary activation. But the screensaver will disappear once another has been selected and the dialog restarted.

    But this is from Win95 times, so it's possibly outdated.


    I see three ways to call install:

    1. ShellExecute(Ex) using the install verb
    2. Call rundll32.exe desk.cpl,InstallScreenSaver %l
    3. Load desk.cpl as library(LoadLibrary or by declaring an import for InstallScreenSaver) and then call the InstallScreenSaver method with your own path as parameter.

提交回复
热议问题