2011-03-12 139 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