IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Comment détecter si un prog. est installé et où


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 247
    Points : 106
    Points
    106
    Par défaut Comment détecter si un prog. est installé et où
    Bonjour,

    J'aimerais savoir quelle clé du registre consulter pour savoir si un programme est installé et dans quel répertoire.

    J'aimerais savoir si Microsoft Word ou un autre est installé sur un ordinateur qui execute mon programme et si oui l'appeller avec ShellApi ce que je fais avec mon ordi car je sais ou j'ai installé ledit programme mais je veux une procédure sans faille sur les autres ordinateurs.


    Merci à tous.

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Déjà, il faut savoir quelles sont les clés registres créées et où elles se situent pour pouvoir les utiliser. Sans quoi, on ne pourra rien faire

    Je te propose un bon de code qui test si Word est installé et si oui, on l'exécute.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    procedure TForm1.Button1Click(Sender: TObject);
    var
      registre:TRegistry;
      chemin:string;
    begin
      registre:=TRegistry.Create;
      with Registre do
      begin
        RootKey:=HKEY_LOCAL_MACHINE;
        if KeyExists('SOFTWARE\Microsoft\Office\11.0\Word\InstallRoot')then
        begin
          if(OpenKey('SOFTWARE\Microsoft\Office\11.0\Word\InstallRoot',false))then
          begin
            chemin:=ReadString('Path');
            ShellExecute(0,'OPEN',Pchar(chemin+'winword.exe'),nil,nil,SW_SHOWNORMAL);
          end;
        end
        else
        begin
          ShowMessage('Word ne semble pas être installé sur cet ordinateur.');
        end;
      end;
      registre.Free;
    end;
    N'oublies pas de rajouter dans les uses les unités ShellAPI et Registry.
    En espérant avoir répondu à ta question.
    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 247
    Points : 106
    Points
    106
    Par défaut Suivi
    Excellent !

    Vraiment une réponse bien faite et bien détaillé, un exemple de réponse.

    Merci.

  4. #4
    Membre régulier
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Points : 116
    Points
    116
    Par défaut
    Chez moi, la clé registre de word est :'SOFTWARE\Microsoft\Office\9.0\Word\InstallRoot'; ceci doit dépendre de la version de Office; pour moi, Office 2000.

    Duan

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    il pourrait être plus sûr de trouver le prog associé à une extension : http://www.phidels.com/php/index.php...ip.php3&id=256
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut tourlourou ,

    Citation Envoyé par tourlourou Voir le message
    il pourrait être plus sûr de trouver le prog associé à une extension : http://www.phidels.com/php/index.php...ip.php3&id=256
    Seul petit soucis, c'est qu'il faut sélectionner un fichier auparavant pour savoir où se trouve l'exécutable capable de l'ouvrir... Avec la BDR, logiquement le chemin d'installation sera toujours le même, même si l'utilisateur installe Word autre part que dans Program Files ... C'est la clé Path qui changera

    Sinon, je mets de coté ton idée! Je ne la connaissais pas et je la trouve intéressante

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Images] Comment détecter qu'un GIF est animé ?
    Par matique dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 06/02/2006, 16h57
  2. Comment détecter si un tableau est vide ?
    Par ErPi dans le forum Langage
    Réponses: 6
    Dernier message: 27/06/2005, 18h50
  3. Réponses: 15
    Dernier message: 27/04/2005, 10h41
  4. [Delphi 6] Comment détecter si un poste est connecté ?
    Par Lung dans le forum Web & réseau
    Réponses: 81
    Dernier message: 22/04/2005, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo