[C++] Registry & Folder Options

Pagina: 1
Acties:

  • cobratbq
  • Registratie: Maart 2001
  • Laatst online: 17-12-2015
Ik ben bezig met een klein programmatje om een aantal instelling in windows te kunnen veranderen vanuit dit programma'tje. Ik weet het, het 10.000ste tweakprogrammatje. Maar ik zit met een klein probleempje.
Als ik in het register de folder options verander.
(of in het nederlands: map opties) dan gaan die niet gelijk in actie. Terwijl je met het onderdeel folder options op apply drukt en dan werkt het.

Weet iemand een soort van refresh functie die ik kan aanroepen zodat explorer de nieuwe instellingen laadt?

One ring to rule them all, one ring to find them, one ring to bring them all, and in darkness bind them...


  • BurningSheep
  • Registratie: Januari 2000
  • Laatst online: 03-05 22:13
Waarschijnlijk worden die instellingen alleen geladen wanneer explorer wordt opgestart

  • cobratbq
  • Registratie: Maart 2001
  • Laatst online: 17-12-2015
Op zondag 24 maart 2002 16:25 schreef BurningSheep het volgende:
Waarschijnlijk worden die instellingen alleen geladen wanneer explorer wordt opgestart
Was ik ook bang voor.
Is er geen argument line voor explorer.exe om een soort van refresh te doen?

de registerkey voor de mapopties:
HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/WINDOWS/EXPLORER/ADVANCED

One ring to rule them all, one ring to find them, one ring to bring them all, and in darkness bind them...


  • Sponz
  • Registratie: Juni 2001
  • Niet online

Sponz

nul nest parfait saif moi

Op zondag 24 maart 2002 16:27 schreef cobratbq het volgende:

[..]

Was ik ook bang voor.
Is er geen argument line voor explorer.exe om een soort van refresh te doen?

de registerkey voor de mapopties:
HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/WINDOWS/EXPLORER/ADVANCED
Stuur alle explorer instanties een refresh message (WM_?? , geen idee welke).

  • cobratbq
  • Registratie: Maart 2001
  • Laatst online: 17-12-2015
Op zondag 24 maart 2002 16:42 schreef Sponz het volgende:

[..]

Stuur alle explorer instanties een refresh message (WM_?? , geen idee welke).
Zo goed ben ik nog niet met C++.
Kun je een voorbeeld geven hoe dat moet?
TnX

One ring to rule them all, one ring to find them, one ring to bring them all, and in darkness bind them...


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Je zou eventueel met Spy++ kunnen kijken of er een (speciale) window message wordt verstuurd. Wat ook nog zou kunnen is dat er zo'n message wordt gestuurd zoals in de vorm van zo'n "taskbar_created" message.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

Volgens mij moet je ShChangeNotify gebruiken.

  • eborn
  • Registratie: April 2000
  • Laatst online: 08-09 12:50
Je moet je dan toch eens gaan verdiepen in de Win32 API. Dat is altijd handig (misschien zelfs wel noodzakelijk) als je dingen in Windows wilt gaan 'tweaken'.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 04-09 14:38

curry684

left part of the evil twins

Op maandag 25 maart 2002 02:32 schreef DiFool het volgende:
Volgens mij moet je ShChangeNotify gebruiken.
Indeed, met 2 leading capitals zelfs: ;)
code:
1
2
3
4
5
VOID SHChangeNotify(
    LONG wEventId, 
    UINT uFlags, 
    LPCVOID dwItem1, 
    LPCVOID dwItem2);

Voor de betekenis van de parameters moet je maar ff in de MSDN Library graven.

Op zich kan je probleem overigens ook nog aan iets anders liggen, dat kan ik aan je omschrijving niet precies afleiden. De Registry functies van Windows zijn namelijk lazy, oftewel changes worden pas gecommit in de echte registry op het moment dat je de key sluit met RegCloseKey. Dit kun je eventueel ook afstoppen door na je writes en voor de SHChangeNotify een call te doen naar RegFlushKey.

Professionele website nodig?

Pagina: 1