Partage
  • Partager sur Facebook
  • Partager sur Twitter

CreateToolhelp32Snapshot sur Terminal Server

    8 janvier 2015 à 8:24:48

    Bonjour,

    Nous utilisons actuellement sur notre logiciel un bout de code permettant de créer une liste des processus afin de contrôler si un programme est ouvert ou non. Pour créer la liste nous utilisons la fonction windows CreateToolhelp32Snapshot. Le problème apparaît pour les clients étant sur Terminal Server. En effet cette fonction allère d'afficher les processus de TOUTE les sessions Terminal.

    Le but final étant que j'aie une liste uniquement des processus ouvert par la session en question (Affichage standard lorsque l'utilisateur accède à son gestionnaire de tâche d'ailleurs). Je n'ai malheureusement rien trouvé sur le net, pourriez-vous m'aguiller si il est possible de le faire via cette fonction ou faut-il chercher une autre logique que notre code actuel :

    Function ExeRunning (NomApplication : Ansistring) : Cardinal;
    
    Var
       ProcListExec : TProcessentry32;
       PrhListExec : Thandle;
       Flag : boolean;
    
    begin
         Result:=0;
         ProcListExec.dwSize:=sizeof(ProcListExec);
         try
            PrhListExec:=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
            if (PrhListExec <> INVALID_HANDLE_VALUE) then
            begin
                 Flag:=True;
                 Process32First(PrhListExec,ProcListExec);
                 while Flag = True do
                 begin
                      if (Uppercase(ExtractFileName(ProcListExec.szExeFile)) = Uppercase(ExtractFileName (NomApplication))) then
                      begin
                           Result:=ProcListExec.th32ProcessID;
                           Flag:=False;
                      end
                      else
                      Flag:=Process32Next(PrhListExec,ProcListExec);
                 end;
            end;
         finally
                CloseHandle(PrhListExec);
         end;
    end;

    Je vous remercie d'avance pour vos réponses. Bonne fin de journée

    • Partager sur Facebook
    • Partager sur Twitter

    CreateToolhelp32Snapshot sur Terminal Server

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown