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

0/5 (2 avis)

Snippet vu 7 821 fois - Téléchargée 34 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_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
18 déc. 2005 à 18:20
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é).
cs_hendrix Messages postés 65 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 18 novembre 2008 1
2 nov. 2005 à 13:57
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... :-) ).

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.