2009-09-10 8 views
2

Je me demande s'il existe un moyen d'actualiser la clé de registre HKLM \ LOGICIEL \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer HKLM \ sans redémarrer le shell.Mettre à jour la configuration de l'explorateur sans la redémarrer

Je voudrais être en mesure de le faire sans redémarrer l'explorateur. Y a-t-il un moyen connu de le faire?

Jusqu'à présent, je trouve que cette chose:

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True 

qui ne fonctionne pas pour mon cas.

Cela me semble fou que MS a fait l'Explorateur afin qu'il ne puisse pas relire sa configuration en cours d'exécution) mais on ne sait jamais. Ce que j'essaie de faire est de désactiver/activer la zone de notification (plateau) sans redémarrer. La clé de Registre est

Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \

variable: NoTrayItemsDisplay

Valeur: 1/0

EDIT 2 C'est la source code qui est censé fonctionner, mais sur Vista il ne fonctionne pas, pas pour la zone de notification, pas pour mon mannequin de test qui était MyMusic dans startMenu (variable NoStartMenuMyMusic)

#include <stdio.h> 
#include <windows.h> 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    DWORD dwRetVal; 

    int lResult = SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, (WPARAM)0, 
         (LPARAM)"Policy", 
         SMTO_ABORTIFHUNG, 5000, &dwRetVal); 

    printf("lResult = %ld\n", lResult); 
    printf("dwRetVal = %ld\n", dwRetVal); 

    return 0; 
} 

J'ai essayé toutes les valeurs saines wparam et lparam sans succès. J'ai pris le code de here et mec prétend que cela fonctionne ...

This article, cependant, affirme que le code ne fonctionne pas.

Ce qui est encore plus ridicule est que gpupdate est supposé faire le travail.

Thx.

+0

Ce ne est pas * que * fou. La plupart des applications ne vérifient pas si un fichier de configuration/clé de registre a été modifié depuis la charge, pas même Windows lui-même. Laissez-moi deviner, vous essayez d'éditer les paramètres réseau? Je ne pouvais pas trouver de solution pour ce problème soit: S * + 1 * – voyager

+0

Non, je veux désactiver la notification d'icône à la course. Il est fou parce que l'Explorer n'est pas "la plupart des applications", c'est un monstre: D – majkinetor

Répondre

1

Essayez d'envoyer le message WM_SETTINGCHANGE avec wparam = 0 et lParam = « Politique » à la barre des tâches, pas sûr que cela peut être fait avec les scripts

+0

Cela ne fonctionne pas. J'ai utilisé SendMessageTimeout pour envoyer le message et il renvoie 1 comme résultat, ce qui signifie qu'il a passé OK. Cependant, rien ne se passe. – majkinetor

+0

vous pouvez essayer wparam = 1 aussi, vérifiez le lien, c'est comment il est censé fonctionner – Anders

+0

Non c'est pas. Les applications doivent envoyer NULL, les envois du système 1. De toute façon, j'ai édité le poste et donné le code C. Peut-être que vous pouvez l'essayer vous-même. – majkinetor

Questions connexes