Einzelnen Beitrag anzeigen

sexmagic

Registriert seit: 16. Sep 2006
56 Beiträge
 
Delphi 2006 Professional
 
#1

SystemParametersInfo Problem

  Alt 28. Sep 2006, 20:42
Hallo Jungs,

ich habe mich nun im MSDN umgeshen und habe in der API Referenz SystemParameterInfo gefunden, da hab ich gleich mal bischen rumgetestet und bin auf ein Probelme gestossen.

Vorhaben:
Ich möchte mit einem Programm auf meinem Lappi den Screensaver und ddas EnegryManagement deaktivieren.

Mein Problem:
Ich kann alles deaktivieren, gemacht hab ichs so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  SystemParametersInfo(SPI_SETPOWEROFFACTIVE,1,nil,0);
  SystemParametersInfo(SPI_SETPOWEROFFACTIVE, 1, nil,0);
  Label2.Font.Color := $002DB000;
  Label2.Caption := 'Enabled';
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
  SystemParametersInfo(SPI_SETPOWEROFFACTIVE,0,nil,0);
  SystemParametersInfo(SPI_SETPOWEROFFACTIVE, 0, nil,0);
  Label2.Font.Color := $000000DD;
  Label2.Caption := 'Disabled';
end;
So schalte ich also während der Laufzeit ein und aus.
Laut API habe ich aber gedacht das wenn ich das Programm beende das ding deaktiviert bleibt, wenn ich aber deaktiviere und das Programm neu starte dann is der Status wieder aktiviert.
Habe ich das falsch verstanden und das setzt sich wieder auf True oder hab ich nen Fehler im Code?
Weiters habe ich das Problem das zwar der Dienst deaktiviert wurde aber im Windows unter Systemsteuerungen alles als normal angezeigt wird (aktiv), kann ich diese Anzeige nicht auch umstellen, damit das auch wirklich so angezeigt wird?

Überprüfen tu ich so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Value: Integer;
begin
  if SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,0,@Value,0) then
    if Value <> 0 then
    begin
      Label2.Font.Color := $002DB000;
      Label2.Caption := 'Enabled';
    end;

  if SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,0,@Value,0) then
    if Value = 0 then
    begin
      Label2.Font.Color := $000000DD;
      Label2.Caption := 'Disabled';
    end;
end;

Danke für die Hilfe oder Tips

  Mit Zitat antworten Zitat