Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SendMessage Hilfe (https://www.delphipraxis.net/147317-sendmessage-hilfe.html)

SonicTTH 5. Feb 2010 15:56


SendMessage Hilfe
 
Hallo,

Ich möchte mit meinem Programm Registrierungseinstellungen verändern wie z.b. das Timeout für den Bildschirmschoner.
Mein problem ist, dass Windows das natürlich nicht übernimmt, nur weil man den schlüssel dafür ändert (In dem fall wäre das 'ScreenSaveTimeOut') in HKEY_CURRENT_USER\ControlPanel\Desktop.

Ich will also dass dann auch wirklich nachdem ich das geändert habe der bildschirmschoner nach der eingestellten zeit (und natürlich unter der bedingung dass keine eingaben gemacht wurden) eingeschaltet wird, und ich mich dazu nicht erst ab und wieder an melden muss.
Ich habe mich mal mit der Funktion SendMessage auseinandergesetzt, hab aber nicht wirklich was damit erreicht.

Kann mir jemand einen tipp geben was man dafür verwenden muss?

Dankeschön,

Grüße - SonicTTH

himitsu 5. Feb 2010 16:06

Re: SendMessage Hilfe
 
Zitat:

Zitat von SonicTTH
Ich habe mich mal mit der Funktion SendMessage auseinandergesetzt, hab aber nicht wirklich was damit erreicht.

Du mußt nur an Windows die "richtige" Message schicken, welche diesem sagt, daß es diese Daten neu laden soll.

Aber welche es genau ist, daß weiß ich auch nicht, aber ich vermute dieses wird sich irgendwo im MSDN oder Google verstecken.

Astat 5. Feb 2010 16:45

Re: SendMessage Hilfe
 
Delphi-Quellcode:
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);

lbccaleb 6. Feb 2010 15:36

Re: SendMessage Hilfe
 
Hey wie ich dir schon ICQ geschrieben habe kannst du es so machen:

Delphi-Quellcode:
procedure SetScreensaverTime(TimeOut: integer);
const
  SixtySeconds = 60;
begin;
  SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT,SixtySeconds * TimeOut, nil, SPIF_SENDWININICHANGE);
end;
Dann übernimmt Windows alles für dich.

Das hier trotzdem noch mal, vllt hat ja Jemand noch mal das Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz