Activer la base de registre sans reboot (Astuce)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Activer la base de registre sans reboot (Astuce)

Message par brossden »

Bonjour et bonne année à toutes et à tous.

:idea:

Pour débuter cette année je vous soumet une petite astuce que vous connaissez peut être déjà : Il s'agit de rendre actif immédiatement les modifications apportées sur la base de registre sans faire de reboot :

Code : Tout sélectionner

RunProgram("RUNDLL32.EXE","USER32.DLL,UpdatePerUserSystemParameters ,1 ,True","")
Dernière modification par brossden le lun. 02/janv./2012 13:23, modifié 1 fois.
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Activer la base de registre sans reboot (Astuce)

Message par djes »

Ah non, je ne connaissais pas, cool ! :)
Merci !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Activer la base de registre sans reboot (Astuce)

Message par Kwai chang caine »

Est il nécessaire de dire que je connaissais pas :roll: :mrgreen:

Merci DENIS trop top cool ton truc 8)
J’espère que ça marche dans tous les cas, parce que des fois ils disent bien que quoi qu'on fasse un reboot est nécessaire :?
Quoi qu'il en soit, ça coute rien d'essayer avant et si ça marche pas, de sortir la big artillerie
Image
Merci mon canard et bonne année avec je l’espère un retour journalier de ta royale personne sur ce forum 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Activer la base de registre sans reboot (Astuce)

Message par Ar-S »

8) 8) 8) C'est juste une commande que je vais vénérer, rien de plus.
Énorme merci à toi !
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Re: Activer la base de registre sans reboot (Astuce)

Message par brossden »

Pour Kwai kwai... (comme crie mon chien !) mdr :lol:

Je ne sais pas si cela marche dans tous les cas mon gros Canard en Sucre !

Mais ce que je peux te dire c'est que par exemple si tu changes le nom du fichier te servant de fond d'écran dans la base de registre, le petit bout de code fonctionne à merveille !

Petite précision j'ai testé en Win XP 32 bits, c'est le système d'exploitation au boulot!

Pour les autres Merci n'en jetez plus !!
Dernière modification par brossden le mar. 03/janv./2012 15:38, modifié 2 fois.
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Activer la base de registre sans reboot (Astuce)

Message par djes »

Tu es beau, tu es grand. :mrgreen:
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Activer la base de registre sans reboot (Astuce)

Message par Ar-S »

Allez je vous plaque ma procédure RefreshBDR() utilisant cette sacrosainte ligne de commande :mrgreen:

Code : Tout sélectionner

; Il s'agit de rendre actif immédiatement les modifications
; apportées sur la base de registre sans faire de reboot :
; Par Brossben

Procedure.b RefreshBDR(ARS_message_mode.b = 1) ; 0 = silent mode / 1 = messagerequester mode
  ; Par Ar-S / 02/01/2012 - Bonne année ! ^^
  ; Commande RunProgram(....) soufflé Par Brossden
  
  ; Fonctionnement : RefreshBDR([mode])
  ; 
  ; Le 'mode' peut être 0 ou 1
  ; RefreshBDR(0) (par defaut) est le mode silencieux, vous n'aurez pas de retour en messagerequester(). 
  ; RefreshBDR(1) fait apparaitre un MessageRequester() vous indiquant si l'opération a réussi ou pas.
  
  ; Exemple 
  
  ; Actualisation = RefreshBDR(1)
  ; Debug Actualisation
  
  ; Si 'Actualisation' est égale à 0 il y a une erreur, la modification n'a pas eu lieu
  ; Si 'Actualisation' est égale à 1 => Succés
  ; Si 'Actualisation' est égale à 2 ; Vous avez utilisé un mode inexistant
  
  If ARS_message_mode = 0 Or ARS_message_mode = 1
  
  refreshbdd = RunProgram("RUNDLL32.EXE","USER32.DLL,UpdatePerUserSystemParameters ,1 ,True","")
   
  If refreshbdd = 0
    AlertMess.s = "Echec ! La modification n'a pas pu être effectuée, vous devez avoir les droits administrateurs pour celà."+Chr(10)+"Pour celà, faites un clique droit sur le programme puis cliquer sur 'propriétés'. "+Chr(10)+"'Dans la fenêtre qui s'ouvre, selectionnez (en bas) 'Executez en temps qu'administrateur''"
  Else 
    refreshbdd = 1 
    AlertMess.s = "Actualisation de la base de registre effectuée !"
  EndIf
  
  If ARS_message_mode = 1
    MessageRequester("Information",AlertMess,#MB_OK|#MB_ICONINFORMATION)
  EndIf
  
Else
  MessageRequester("Erreur","Vous devez selectionner un mode (0 ou 1) uniquement."+Chr(10)+"RefreshBDR(0) ou RefreshBDR(1)", #MB_OK|#MB_ICONINFORMATION)
  refreshbdd = 2
  
EndIf

ProcedureReturn refreshbdd

EndProcedure
  
  
Actualisation = RefreshBDR(1)
Debug Actualisation


Dernière modification par Ar-S le lun. 02/janv./2012 14:16, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Activer la base de registre sans reboot (Astuce)

Message par djes »

Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Activer la base de registre sans reboot (Astuce)

Message par Ar-S »

Je n'ai pas encore testé , en revanche aux vues des résultats de ma procedure ci dessus, le runprogram() s'effectue bien.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Activer la base de registre sans reboot (Astuce)

Message par Kwai chang caine »

Pour Kwai kwai... (comme crie mon chien !) mdr :lol:
:lol: :lol: :lol:
Image :lol: :lol: :lol:

Comme j'ai dit ça empêche pas d'essayer en premier, c'est comme avec les filles...le tout c'est de rester courtois !!!
Si windows se fâche alors on peut essayer autre chose....

Apparemment DJES a trouvé que ça allait pas durer...des que y'a une API qui est super, bilou nous la vire:?
C’était comme celle qui remettait les compteurs a zéro pour la mise en veille, perdu pour VISTA :(
J’espère surtout qu'au pire ça ne fera rien dans W7...

En tout cas...trop cool ton API.....
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Re: Activer la base de registre sans reboot (Astuce)

Message par brossden »

Mais c'est qu'il mordrait cette sale bête ! lol

Je suis désolé de n'avoir donner qu'un solution pour Xp

Chez moi je suis en Seven et je vais tester d'autres solutions, si je trouve vous en aurez la primeur !
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Activer la base de registre sans reboot (Astuce)

Message par Kwai chang caine »

Mais c'est qu'il mordrait cette sale bête ! lol
Depuis la réouverture du HS, j'ai juré d'essayer d’être sage, alors j'me suis fait refaire tous les chicos pour ce faire :mrgreen:
Chez moi je suis en Seven et je vais tester d'autres solutions, si je trouve vous en aurez la primeur !
En tout cas encore merci 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Re: Activer la base de registre sans reboot (Astuce)

Message par brossden »

Avec Windows Seven et certainement aussi avec Vista il est vrai que cela ne fonctionne pas, mais il est possible d'utiliser l'API : SystemParametersInfo_(UINT __in uiAction, __in UINT uiParam, __inout PVOID pvParam, __in UINT fWinIni)

Le problème c'est que cette fonction n'est pas généraliste il faut suivant ce que l'on veut faire adapter les variables.
Le lien suivant est pour les non anglophones

http://translate.google.fr/translate?hl ... md%3Dimvns

Exemple pour réccuperer le nom du fond d'écran.

Code : Tout sélectionner

Fichier.s =Space(255)
res = SystemParametersInfo_($73, $100,@Fichier,$2)
Debug Fichier
Denis

Bonne Jounée à tous
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Activer la base de registre sans reboot (Astuce)

Message par Kwai chang caine »

Cool ta trouvaille... 8)
Apres t'avoir lu, j'suis tombé sur un code de KALE
http://www.purebasic.fr/english/viewtop ... 60#p156060

Code : Tout sélectionner

DeskTopWallPaper.s = Space(#MAX_PATH)
SystemParametersInfo_(#SPI_GETDESKWALLPAPER, #MAX_PATH, @DeskTopWallPaper, 0)
If DeskTopWallPaper
   Debug DeskTopWallPaper
Else
   Debug "No wallpaper found."
EndIf
Et ça m'a donné l'idée d'aller fouiner dans la liste des constantes PB (SPI ==> System Parametre Info) et j'crois même que FRED y s'est fendu d'incorporer les constantes a mettre devant (Trop fort ce FRED :? ) :

Code : Tout sélectionner

#SPI_GETACCESSTIMEOUT
#SPI_GETACTIVEWINDOWTRACKING
#SPI_GETACTIVEWNDTRKTIMEOUT
#SPI_GETACTIVEWNDTRKZORDER
#SPI_GETANIMATION
#SPI_GETBEEP
#SPI_GETBORDER
#SPI_GETCOMBOBOXANIMATION
#SPI_GETDEFAULTINPUTLANG
#SPI_GETDRAGFULLWINDOWS
#SPI_GETFASTTASKSWITCH
#SPI_GETFILTERKEYS
#SPI_GETFONTSMOOTHING
#SPI_GETFOREGROUNDFLASHCOUNT
#SPI_GETFOREGROUNDLOCKTIMEOUT
#SPI_GETGRADIENTCAPTIONS
#SPI_GETGRIDGRANULARITY
#SPI_GETHIGHCONTRAST
#SPI_GETHOTTRACKING
#SPI_GETICONMETRICS
#SPI_GETICONTITLELOGFONT
#SPI_GETICONTITLEWRAP
#SPI_GETKEYBOARDDELAY
#SPI_GETKEYBOARDPREF
#SPI_GETKEYBOARDSPEED
#SPI_GETLISTBOXSMOOTHSCROLLING
#SPI_GETLOWPOWERACTIVE
#SPI_GETLOWPOWERTIMEOUT
#SPI_GETMENUANIMATION
#SPI_GETMENUDROPALIGNMENT
#SPI_GETMENUUNDERLINES
#SPI_GETMINIMIZEDMETRICS
#SPI_GETMOUSE
#SPI_GETMOUSEHOVERHEIGHT
#SPI_GETMOUSEHOVERTIME
#SPI_GETMOUSEHOVERWIDTH
#SPI_GETMOUSEKEYS
#SPI_GETMOUSESPEED
#SPI_GETMOUSETRAILS
#SPI_GETNONCLIENTMETRICS
#SPI_GETPOWEROFFACTIVE
#SPI_GETPOWEROFFTIMEOUT
#SPI_GETSCREENREADER
#SPI_GETSCREENSAVEACTIVE
#SPI_GETSCREENSAVERRUNNING
#SPI_GETSCREENSAVETIMEOUT
#SPI_GETSERIALKEYS
#SPI_GETSHOWIMEUI
#SPI_GETSHOWSOUNDS
#SPI_GETSOUNDSENTRY
#SPI_GETSTICKYKEYS
#SPI_GETTOGGLEKEYS
#SPI_GETWHEELSCROLLLINES
#SPI_GETWINDOWSEXTENSION
#SPI_GETWORKAREA
#SPI_ICONHORIZONTALSPACING
#SPI_ICONVERTICALSPACING
#SPI_LANGDRIVER
#SPI_SETACCESSTIMEOUT
#SPI_SETACTIVEWINDOWTRACKING
#SPI_SETACTIVEWNDTRKTIMEOUT
#SPI_SETACTIVEWNDTRKZORDER
#SPI_SETANIMATION
#SPI_SETBEEP
#SPI_SETBORDER
#SPI_SETCOMBOBOXANIMATION
#SPI_SETCURSORS
#SPI_SETDEFAULTINPUTLANG
#SPI_SETDESKPATTERN
#SPI_SETDESKWALLPAPER
#SPI_SETDOUBLECLICKTIME
#SPI_SETDOUBLECLKHEIGHT
#SPI_SETDOUBLECLKWIDTH
#SPI_SETDRAGFULLWINDOWS
#SPI_SETDRAGHEIGHT
#SPI_SETDRAGWIDTH
#SPI_SETFASTTASKSWITCH
#SPI_SETFILTERKEYS
#SPI_SETFONTSMOOTHING
#SPI_SETFOREGROUNDFLASHCOUNT
#SPI_SETFOREGROUNDLOCKTIMEOUT
#SPI_SETGRADIENTCAPTIONS
#SPI_SETGRIDGRANULARITY
#SPI_SETHANDHELD
#SPI_SETHIGHCONTRAST
#SPI_SETHOTTRACKING
#SPI_SETICONMETRICS
#SPI_SETICONS
#SPI_SETICONTITLELOGFONT
#SPI_SETICONTITLEWRAP
#SPI_SETKEYBOARDDELAY
#SPI_SETKEYBOARDPREF
#SPI_SETKEYBOARDSPEED
#SPI_SETLANGTOGGLE
#SPI_SETLISTBOXSMOOTHSCROLLING
#SPI_SETLOWPOWERACTIVE
#SPI_SETLOWPOWERTIMEOUT
#SPI_SETMENUANIMATION
#SPI_SETMENUDROPALIGNMENT
#SPI_SETMENUUNDERLINES
#SPI_SETMINIMIZEDMETRICS
#SPI_SETMOUSE
#SPI_SETMOUSEBUTTONSWAP
#SPI_SETMOUSEHOVERHEIGHT
#SPI_SETMOUSEHOVERTIME
#SPI_SETMOUSEHOVERWIDTH
#SPI_SETMOUSEKEYS
#SPI_SETMOUSESPEED
#SPI_SETMOUSETRAILS
#SPI_SETNONCLIENTMETRICS
#SPI_SETPENWINDOWS
#SPI_SETPOWEROFFACTIVE
#SPI_SETPOWEROFFTIMEOUT
#SPI_SETSCREENREADER
#SPI_SETSCREENSAVEACTIVE
#SPI_SETSCREENSAVERRUNNING
#SPI_SETSCREENSAVETIMEOUT
#SPI_SETSERIALKEYS
#SPI_SETSHOWIMEUI
#SPI_SETSHOWSOUNDS
#SPI_SETSOUNDSENTRY
#SPI_SETSTICKYKEYS
#SPI_SETTOGGLEKEYS
#SPI_SETWHEELSCROLLLINES
#SPI_SETWORKAREA
Enfin si j'me suis pas gourré ??? :oops:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre