Announcement

Collapse
No announcement yet.

Neusetzen des Bildschirmschoners durch das Programm

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Neusetzen des Bildschirmschoners durch das Programm

    Hallo zusammen,

    meine Applikation soll beim Start den Bildschirmschoner austauschen.
    Folgende Vorgehensweise funktioniert teilweise nicht (Der Dateiname wird korrekt ausgetauscht, der Eintrag der Aktivierungszeit erfolgt nicht). Nach der Ausführung des Codes ist auch in der Systemsteuerung kein Bildschirmschoner aktiviert.

    procedure TForm1.Initialisierung(Sender: TObject);
    var IniSchoner : TRegistry;
    SysIni : TIniFile;
    TimeOut : Integer;

    begin

    //---- Programdatei tauschen ----
    SysIni:=TIniFile.Create('system.ini');
    SysIni.WriteString('boot','SCRNSAVE.EXE',Verzeichn is+'\schoner.scr');
    SysIni.Free;

    //---- Werte für Schoner neu setzen -----
    SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,
    TimeOut,
    nil,
    SPIF_SENDWININICHANGE);

    SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,
    1,
    nil,
    SPIF_SENDWININICHANGE);

    end;

    Bin für jede Hilfe dankbar,
    Christian Spengler

  • #2
    Hallo,

    probiere einmal als letzten Parameter die Kombination von <b>SPIF_UPDATEINIFILE or SPIF_SENDWININICHANGE</b> aus. Im Win32-SDK finden sich dazu die folgenden Infos:

    <i>SPIF_UPDATEINIFILE = Writes the new system-wide parameter setting to the user profile. <br>
    SPIF_SENDCHANGE = Broadcasts the WM_SETTINGCHANGE message after updating the user profile. <br>
    SPIF_SENDWININICHANGE = Same as SPIF_SENDCHANGE.</i&gt

    Comment

    Working...
    X