AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Anzeigeänderungen in der Registry ohne Neustart übernehmen?
Thema durchsuchen
Ansicht
Themen-Optionen

Anzeigeänderungen in der Registry ohne Neustart übernehmen?

Ein Thema von Fuchtel · begonnen am 23. Mär 2006 · letzter Beitrag vom 5. Apr 2006
Antwort Antwort
Fuchtel

Registriert seit: 9. Nov 2005
Ort: Bamberg
55 Beiträge
 
Delphi 2005 Personal
 
#1

Anzeigeänderungen in der Registry ohne Neustart übernehmen?

  Alt 23. Mär 2006, 16:07
Hallo,

Wenn man in Windows die Eigenschaften von Anzeige ändert, z.B.: unter Darstellung die Größe der Bildlaufleiste,
und diese mit dem Button [Übernahme] bzw. [OK] übernimmt, werden die Änderungen in die Registry gespeichert (un ter: HKEY_USERS\ < User SID > \Control Panel\Desktop\WindowMetrics\ScrollWidth) und diese Änderung gleich (Systemweit), ohne Neustart, übernommen.

Kennt jemand irgendeinen API - Aufruf, oder eine andere Vorgehenswise, eine von mir in die Registry geschriebene Änderung auch so (ohne Neustart) zu übernehmen?

Selbst in MS´s MSDN habe ich nichts gefunden!

Einsteweilen Danke im Vorraus!

Fuchtel
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Anzeigeänderungen in der Registry ohne Neustart übernehm

  Alt 23. Mär 2006, 16:09
Schon MSDN-Library durchsuchenWM_SETTINGCHANGE probiert?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Fuchtel

Registriert seit: 9. Nov 2005
Ort: Bamberg
55 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Anzeigeänderungen in der Registry ohne Neustart übernehm

  Alt 23. Mär 2006, 16:37
Funzt nicht!

Oder hab ich noch nicht den richtigen wParam (Result eines SystemparametersInfo - Aufruf) gefunden?
  Mit Zitat antworten Zitat
Fuchtel

Registriert seit: 9. Nov 2005
Ort: Bamberg
55 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Anzeigeänderungen in der Registry ohne Neustart übernehm

  Alt 5. Apr 2006, 11:04
Lösung gefunden:

Code:
var
  Sic_NCMertics: TNonClientMetrics;
...

procedure TForm1.SetScrollHeightWidth(Value: Integer);
var
  NCMertics : TNonClientMetrics;
begin
  NCMertics.cbSize := SizeOf(NCMertics);
  SystemParametersInfo(SPI_GETNONCLIENTMETRICS, NCMertics.cbSize, @NCMertics,0);
  Sic_NCMertics := NCMertics;
  NCMertics.iScrollWidth := Value;
  NCMertics.iScrollHeight := Value;
  SystemParametersInfo(SPI_SETNONCLIENTMETRICS, NCMertics.cbSize, @NCMertics,0);
end;

procedure TForm1.ReSetScrollHeightWidth;
begin
  SystemParametersInfo(SPI_SETNONCLIENTMETRICS, Sic_NCMertics.cbSize, @Sic_NCMertics,0);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz