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 connaître le chemin d'acces d'un processus au cours d'exécution ?


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Avril 2007
    Messages : 89
    Points : 61
    Points
    61
    Par défaut Comment connaître le chemin d'acces d'un processus au cours d'exécution ?
    bonsoir
    Comment connaitre le chemin d'acces d'un processus au cours d'execution
    bonsoiréé
    Salut Pour Tout Le Monde

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    SAlut
    Je pense qu'il cherche a recuperer le chemin d'une appli tiers (en recuperant le Handle de l'appli)
    J'ai regarder dans les API mais je n'est pas trouvé ce que je cherchais

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 132
    Points
    15 132
    Par défaut
    'soir !

    Mon sdk me dit EnumProcesses,
    The EnumProcesses function retrieves the process identifier for each process object in the system.
    Et à partir de là on peut faire/trouver beaucoup de choses (voir l'exemple du sdk).

    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2012
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 9
    Points : 0
    Points
    0
    Par défaut
    Salut,
    tu dispose un timer et tu met ça :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    unit Unit1;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.ComCtrls, Psapi;
     
    type
      TForm1 = class(TForm)
        Timer1: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
      lastwindows: String;
      VAL_pid: DWORD;
      VAL_title: String;
      VAL_handle_windows: HWND;
     
    implementation
     
    {$R *.dfm}
     
    // PUBLIC FUNCTION : GET PATH FROM PID ( Psapi )
    function GetPathFromPID(const PID: cardinal): string;
    var
      hProcess: THandle;
      path: array[0..MAX_PATH - 1] of char;
    begin
      try
        hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, false, PID);
        if hProcess <> 0 then
          try
            if GetModuleFileNameEx(hProcess, 0, path, MAX_PATH) = 0 then // Dépendance: Psapi
              RaiseLastOSError;
              result := ExtractFileName(path);
          finally
            CloseHandle(hProcess)
          end
        else
          RaiseLastOSError;
      Except
        result := '@'; // Retourne un @ quand le path n'est pas trouvé Ex: System
      end;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      lastwindows := '###NA###';
      Timer1.Enabled := true;
    end;
     
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    	VAL_handle_windows := GetForegroundWindow;
    	GetWindowThreadProcessId(VAL_handle_windows,VAL_pid);
    	SetLength(VAL_title, 255);
    	SetLength(VAL_title, GetWindowText(VAL_handle_windows, PChar(VAL_title), Length(VAL_title)));
    	if(VAL_title <> lastwindows) = true then begin
    		if(GetPathFromPID(VAL_pid) = 'MonExe.exe') = true then begin // A modifier !
    			// L'exe a été trouvé !
    		end else begin
    			// L'exe n'as pas été trouvé !
    		end;
    		lastwindows := VAL_title;
      end;
    end;
     
    end.

Discussions similaires

  1. Comment récupérer le chemin d'accès au dossier TEMP
    Par antonius_marcus dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 10/04/2008, 23h09
  2. Réponses: 1
    Dernier message: 22/10/2007, 14h59
  3. [MySQL] Comment utiliser le chemin d'accès d'une image ?
    Par mealtone dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 18/08/2006, 11h29
  4. comment avoir un chemin d'acces
    Par timsah dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 20/10/2005, 18h35
  5. Réponses: 2
    Dernier message: 05/06/2004, 11h56

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