Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

RefreshDesktop unter Windows 2000 (WindowMetrics)


2 replies to this topic

trutmrol

trutmrol
  • Members
  • 94 posts

Posted 12 November 2001 - 10:20

Hallo,

Ablauf:
1) HKEY_CURRENT_USER\Control Panel\Appearance  setzen.
2) HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics setzen.
3) _RefreshDesktop()

Fehler:
- In 'Eigenschaften Anzeige' steht das richtige Schema doch
 leider wurden die Bildschirmeinstellung nicht veraendert.

Besten Dank fuer die Hinweise.

--------------------------------------------------------

 #define WM_SETTINGCHANGE   0x001A
 #define HWND_BROADCAST     0xffff
 #define SPI_SETICONMETRICS     46  

function _RefreshDesktop( )
HWND hWnd;
LONG lParam;
LONG wParam;
SHORT shMsg;
STRING szParam;
begin
 Disable(LOGGING) ;
 hWnd    = HWND_BROADCAST;
 shMsg   = WM_SETTINGCHANGE;
 wParam  = SPI_SETICONMETRICS;
 szParam = "WindowMetrics";
 lParam  = &szParam;

 SendMessage( hWnd, shMsg, wParam, lParam );
 Enable(LOGGING);
end;


trutmrol

trutmrol
  • Members
  • 94 posts

Posted 05 December 2001 - 09:20

Das Problem ist geloesst! ;-))

Nach dem setzen der Parameter wird nun
der Benutzer aufgefordert den Pc zu restarten
und danach stimmen die Bildschirmeinstellungen.


Schade das mir keine Moeglichkeit bekannt ist das dies
auch ohne Restart des Pc's geht.


Perotin

Perotin
  • Full Members
  • 407 posts

Posted 05 December 2001 - 10:01

Es gibt unter Win9x (abhängig von der genauen Version des OS) doch die Möglichkeit, Änderungen am Desktop auch ohne Neustart zu übernehmen.
Hierzu gehört der Registry-Schlüssel
[HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Controls Folder\Display]
"DynaColorChange"="1"

Wenn Du diesen vorher schreibst, könnten die Änderungen u.U. direkt verwendet werden ...