EXE EN COURS D'EXECUTION [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
15 juillet 2015
-
Whismeril
Messages postés
14122
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 janvier 2020
-
Bonjour,

Je souhaite savoir si un exe est en cours d'exécution lors de la désinstallation avec INNOSETUP. Existe-t-il une fonction en delphi 7.
Par avance merci
Cordialement

1 réponse

Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
function IsAppRunning(const FileName : string): Boolean;
var
FSWbemLocator: Variant;
FWMIService : Variant;
FWbemObjectSet: Variant;
begin
Result := false;
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
Result := (FWbemObjectSet.Count > 0);
FWbemObjectSet := Unassigned;
FWMIService := Unassigned;
FSWbemLocator := Unassigned;
end;

Ensuite il suffit de regarder l'aide InnoSetup pour l'execution de fonction, tu devra surement faire une DLL (de mémoire)
Whismeril
Messages postés
14122
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
25 janvier 2020
333
Bonjour, ce message constitue une réponse et non un commentaire. Je me suis permis de le déplacer.