Accueil > Forum > > > > Savoir si une application est lancé
Savoir si une application est lancé
lundi 28 juillet 2008 à 08:26:29 |
Savoir si une application est lancé

Oniria
|
Bonjour, J'aimerais par mon application si une application particulière est lancé. J'ai cherché sur internet et j'ai obtenu un bout de code utilisant l'unite TlHelp32. Or sous lazarus, je n'ai pas cette unité. J'ai essayé aussi avec la procedure FindWindows, mais mon application ne voie pas celle que je veux. J'ai ensuite cherché sur delphifr et j'ai trouvé le code du http://www.delphifr.com/codes/LISTEUR-PROCESSUS-CHILDS-KILL-IMPORTE-QUEL-PROCESS-PRIVILEGE_32493.aspx. Mais j'avoue, je ne comprend pas ce qui permet de lister les processus. J'ai compris que c'était un thread qui le faisait mais comment fait-elle pour lister ???? Là, je ne comprend pas. Merci pour vos réponses. Oniria
|
|
lundi 28 juillet 2008 à 09:14:37 |
Re : Savoir si une application est lancé

Caribensila
|
Réponse acceptée !
Salut, C'est grâce à l'API "EnumProcess", non?
|
|
lundi 28 juillet 2008 à 11:21:39 |
Re : Savoir si une application est lancé

Oniria
|
Merci pour ta réponse CariBensila. C'est bien cette procedure que l'on peut obtenir la liste des processus. Par contre, on n'a pas le nom de l'application executé (par exemple outlook.exe, on obtient Microsoft Outlook) mais c'est mieux que rien
Pour le gens que ca intérresse le code qui me liste tous mes processus est le suivant :
unit main;
{$mode delphi} interface
uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs,Windows, Buttons, StdCtrls;
type
{ TFMain }
TFMain = class(TForm) B_Quitter: TBitBtn; B_Dictionnaire: TBitBtn; B_Parametre: TBitBtn; Memo1: TMemo; procedure B_ParametreClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { private declarations } public { public declarations } Liste_Processus : TStringList; end;
var FMain: TFMain;
implementation
{ TFMain }
// ce code vient de http://delphi.about.com/od/windowsshellapi/l/aa080304a.htm function EnumProcess(hHwnd: HWND; lParam : integer): boolean; stdcall; var pPid : DWORD; title, ClassName : string; texte : string; begin //if the returned value in null the //callback has failed, so set to false and exit. if (hHwnd=NULL) then //if (_para1=NULL) then begin result := false; end else begin //additional functions to get more //information about a process. //get the Process Identification number. GetWindowThreadProcessId(hHwnd,pPid); //set a memory area to receive //the process class name SetLength(ClassName, 255); //get the class name and reset the //memory area to the size of the name SetLength(ClassName,GetClassName(hHwnd,PChar(className),Length(className))); SetLength(title, 255); //get the process title; usually displayed //on the top bar in visible process SetLength(title, GetWindowText(hHwnd, PChar(title), Length(title))); //Display the process information //by adding it to a list box texte := 'Class Name = ' + className + '; Title = ' + title + '; HWND = ' +IntToStr(hHwnd) + '; Pid = ' + IntToStr(pPid); FMain.Liste_Processus.Add(texte);
Result := true; end; end;
procedure TFMain.FormCreate(Sender: TObject); var i:integer; begin FMain.Liste_Processus:=TStringList.Create;
end;
procedure TFMain.B_ParametreClick(Sender: TObject); var i : integer; begin FMain.Liste_Processus.Clear; if EnumWindows(@EnumProcess,0) = false then ShowMessage('Erreur: Impossible de récupérer les informations des processus.'); FMain.Memo1.Lines.Add('Nb processus actifs ='+inttostr(FMain.Liste_Processus.Count)); for i:=0 to FMain.Liste_Processus.Count-1 do begin FMain.Memo1.Lines.Add(FMain.Liste_Processus.Strings[i]) end; end;
procedure TFMain.FormDestroy(Sender: TObject); begin FMain.Liste_Processus.Free; // on libére le stringlist contenant les infos des processus end;
initialization {$I main.lrs}
end.
En tout cas merci Caribensila, ta réponse ma bien aiguillé.
Oniria
|
|
Cette discussion est classée dans : application, code, delphifr, cherché, lancé
Répondre à ce message
Sujets en rapport avec ce message
Pb fermeture d'une appli ouverte à partir d'une autre [ par Sandrine ]
Bonjour,J'ai une application qui possède un bouton permettant d'ouvrir une deuxième application (qui ne possède qu'une fenêtre affichant du texte cont
Tuer une application depuis une autre [ par evolutic ]
Bonjour,Je cherche à tuer un processus (du même style que 'terminer le processus' sous le gestionnaire des tâches windows) depuis une appli delphi. Je
Application dans un TOLEContainer [ par freud2000 ]
Bonjour, j'a créés une application Delphi avec un objet TOLEcontainer qui affiche des documents Word grace à la commande suivante : OleWord.CreateObje
Execution d'Application (EXE) [ par MAsterC ]
Salut à tous,Avec mon programme je voudrai exécuter un jeux... en appuyant sur un "button"...J'ai essayé avec SHELLAPI, ShellExecute(0,'open' ........
cacher une MDi [ par neko ]
Bonjour tout le monde, vala, j'ai un petit probleme avec une form mdi:en effet, mon but est de cacher l'application pour la mettre dans le tray. Chose
TTrackBar courbé [ par wyckit ]
Bonjour Bonjour amis codeurs !Voila, je suis en association avec un grafiste de ma classe pour faire un lecteur mp3, et ce que je cherche c'est à fair
[Application service] Copie de l'executable. [ par kinkey_wizard ]
Bonjour tout le monde, comment allez vous ?Voyons, voyons... Oui^^... Je pense être bien au bord du suicide^^...J'ai trouvé cette instruction sur un s
Probleme avec TabbedNoteBook et evènement onChange [ par dederfred ]
Bonsoir, j'ai un probleme sur un point de mon application .Mon application repose sur un systeme de plusieurs TabbedNoteBook .Je voulais savoir pourqu
Icône du .exe [ par kacola ]
Bonsoir, je viens de finir un petit code sous Delphi Turbo, mais je n'arrive pas à changer l'icône de base (celui avec la torche bleue).J'ai cherché d
Livres en rapport
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|