Récupérer le kbid des patchs correctifs installés sur une machine nt

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 367 fois - Téléchargée 32 fois

Contenu du snippet

Permet de détecter rapidement si un patch a oui ou non besoin d'être installé. Par extension, sachez contre quoi vous êtes protégés. A défaut, contre quoi vous devez blinder votre PC.

Les KB apparaissent en guise d'informations de désinstallation. Si Windows "masque" ces modules, ici, je les récupère.

Pour plus d'information sur un patch N°WXYZ, regardez le lien:
http://support.microsoft.com?kbid=WXYZ

Source / Exemple :


uses Classes, Registry;

  procedure GetKBid(KBList:TStrings; Simplified:boolean);
    function IDK(Chain:string):boolean;
    var idx : integer;
    begin
      Result:=true;
      for idx:=1 to Length(Chain) do
        Result:=Result and (Chain[idx] in ['0'..'9']);
    end;
  var i : integer;
  begin
    KBList.Clear;
    with TRegistry.Create do
      try
        RootKey:=HKEY_LOCAL_MACHINE;
        if OpenKey('Software\Microsoft\Windows\CurrentVersion\Uninstall\',false) then
          begin
            GetKeyNames(KBList);
            for i:=KBList.Count-1 downto 0 do
              if ((UpperCase(Copy(KBList[i],1,2))<>'KB') or (not IDK(Copy(KBList[i],3,Length(KBList[i]))))) then
                KBList.Delete(i);
            CloseKey;
          end;
        if Simplified then
          for i:=0 to KBList.Count-1 do
            KBList[i]:=Copy(KBList[i],3,Length(KBList[i]));
      finally
        Free;
      end;
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  GetKBid(ListBox1.Items,true);
  ListBox1.Items.Sort;
end;

Conclusion :


Vous pouvez toujours aller visiter http://altert.family.free.fr/

A voir également

Ajouter un commentaire

Commentaires

cs_hendrix
Messages postés
69
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
18 novembre 2008
1 -
Je pense qu'il serait mieux de lister le contenu de la clé hotfix... car tous les patchs ne sont pas toujours désinstallables (ceci dit, ils ne tracent sans doute pas toujours tous dans la clé hotfix non plus... :-) ).
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
8 -
Hendrix> J'ai regardé ton HotFix et ça n'apporte rien de plus. Enfin presque... uniquement le KB du Windows Genuine Advance en plus. Sinon c'est vraiment pas mal, car HotFix donne des informations complémentaires. Mais elle en donne trop. Ce qui requierait des vérifications en plus pour extraire seulement les KB installés (cf. la valeur IsInstalled de chaque sous-clé).

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.