Gå til innhold

oppdatere windows vista registeret


Anbefalte innlegg

Hei

Jeg driver og koder et program for konsoll-modus.

Programmet oppdaterer registeret (registry) med noen nøkler og verdier.

Dette skjer i HKEY_LOCAL_MACHINE.

 

Det funker veldig greit så langt med nøklene, men for at konsoll-vinduet skal oppdateres må brukeren logge av og på før endringene trer i kraft. Det virker ikke som at en trenger å reboote maskinen, men at det er nok å logge av og på for at de verdiene i registeret oppdateres ved resten av systemet. Men nå vil jeg ikke at brukeren skal reboote eller logge av og på. Ikke for dette lille programmet..

 

Etter noen søk(googlet) på nettet har noen foreslått å avslutte explorer.exe og kjøre den på nytt. Dette har jeg prøvd uten at det har fungert. Jeg gjorde det med både en batch-fil (ved bruk av taskkill) og med Task-Manageren i windows.

 

Jeg har også prøvd å flushe nøklene med RegFlushKey, men jeg tror ikke det er der problemet ligger heller.

 

Er det noen som vet hva som skjer når en bruker logger av og på, og hvordan dette påvirker konsollets registre og sånt? eller feks hva cmd.exe eller command gjør, hva de kaller og hva som skjer? jeg finner ikke ut hvor jeg skal lete. Noen erfarne eller noen som har prøvd noe liknende før?

 

[edit]

 

Jeg har også bladd over noe som heter "[MS-GPREG]: Group Policy: Registry Extension", det virker veldig tungt, og aner at løsningen ikke ligger der. Nå har jeg null peiling på "policies" så vet ikke om det er der jeg bør lete.

 

[/edit]

Endret av rydi
Lenke til kommentar
Videoannonse
Annonse
shutdown -l

muligens?

 

Det er nettopp dette jeg ikke vil gjøre.

Konsoll-vinduet eller det systemet som oppretter konsoll-vinduet skal restartes uten at brukeren trenger å restarte eller logge seg av og på.

 

Og det hjelper heller ikke å starte et nytt konsoll-vindu fordi registrene i systemet ser ikke ut til å oppdatere konsoll-vinduet/vinduene.

Endret av rydi
Lenke til kommentar

Næ.. med taskkill går det nok ikke å få reaktivert registeret, men kanskje med dette vb script:

Set oWmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& "." & "\root\cimv2")
Set colProcessList = oWmi.ExecQuery _
("Select * from Win32_Process Where Name = 'explorer.exe'")
For Each oProcess in colProcessList
oProcess.Terminate()
Next

Etter at explorer er terminert, skal den starte opp igjen automatisk, men hvis den ikke gjør det, legg dette til scriptet ovenfor:

Set WSHShell = CreateObject("Wscript.Shell")
WSHShell.Run ("explorer.exe")

Lenke til kommentar
Næ.. med taskkill går det nok ikke å få reaktivert registeret, men kanskje med dette vb script:

Set oWmi = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& "." & "\root\cimv2")
Set colProcessList = oWmi.ExecQuery _
("Select * from Win32_Process Where Name = 'explorer.exe'")
For Each oProcess in colProcessList
oProcess.Terminate()
Next

Etter at explorer er terminert, skal den starte opp igjen automatisk, men hvis den ikke gjør det, legg dette til scriptet ovenfor:

Set WSHShell = CreateObject("Wscript.Shell")
WSHShell.Run ("explorer.exe")

 

jeg foretrekker C++ kode, siden jeg bruker det primært. uansett, hva gjør det scriptet? bare avslutter og starter explorer.exe prosessen? Det kom kanskje litt uklart frem i innlegget at det var oppdateringen av registrene som ikke fungerte etter at explorer-prosessen ble restartet.

Lenke til kommentar

Jeg har peilet meg inn på csrss.exe etter mye om og men.

Virker som at det er en kritisk prosess, fordi når jeg avslutter den får jeg bluescreen i Vista. Synd man ikke kan restarte denne, det ville vært kjempekjekt å finne ut om det er den som trengs for å oppdatere konsoll-vindu-registrene! Hvis noen har peiling på den interne virkemåten, please let me know.

Endret av rydi
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...