2011-03-12 91 views

回答

5

AFAIK有两种方法:

  1. 永久注册将其复制到一个位置的Windows搜索,如System32。但不要硬编码“C:\ Windows \ System32”。您需要查询系统以找出系统目录的位置。
  2. 呼吁.scr文件,这会导致临时激活Install行动。但一旦选择了另一个屏幕保护程序并重新启动对话框,屏幕保护程序就会消失。

但是,这是从Win95的时代,所以它可能是过时的。


我看到三种方式来调用install:使用install动词

  • 呼叫rundll32.exe desk.cpl,InstallScreenSaver %l
  • 负载desk.cpl作为库(调用LoadLibrary或通过声明进口用于InstallScreenSaver

    1. 的ShellExecute(防爆) ),然后用您自己的路径作为参数调用InstallScreenSaver方法。
  • +2

    可能不会过时,我怀疑! – 2011-03-12 12:33:56

    +1

    如何以编程方式调用“安装”操作? – user626528 2011-03-13 08:55:48

    +0

    @user增加了一些想法上 – CodesInChaos 2011-03-13 09:48:05

    0

    这从主Windows文件夹中只注册它为我工作的32个或64位系统。 ( System32下或SYSWOW64)。

    要复制一个上下文菜单 '安装' 使用:

    Copy .scr to Windows folder. 
    

    然后(按照以上)

    rundll32.exe 
    -> Parameters: "desk.cpl,InstallScreenSaver {win-loc-constant}\YourScreenSaver.scr" 
    

    ^这样做有 '编程',以列表的太多的方法每个 - 如果你不知道如何使用上面的代码,尝试谷歌+“你琅+的Windows API + RUNDLL32的ShellExecute”等。

    要强制通过注册表中的位置/ SCR(无提示 - 似乎工作):

    HKCU\Control Panel\Desktop\ 
    Name: SCRNSAVE.EXE; 
    Type: string; 
    Data: {win-location-constant}\YourScreenSaver.scr 
    

    要在注册表中强制为活动:

    HKCU\Control Panel\Desktop\ 
    Name: ScreenSaveActive 
    Type: string 
    Data: 1 
    
    +0

    中使用它为什么你想把它放到windows目录中而不是到'System32'中?虽然它起作用,但并不符合微软用自己的屏幕保护程序所做的。 – CodesInChaos 2013-01-31 12:56:04

    +0

    @CodesInChaos:我认为这是9x时代的惯例,用户可以保证写入%WINDIR%,但不一定写入System32。 – efotinis 2014-09-22 08:03:33

    相关问题