Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1719 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Fermer une application ouverte avec delphi [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Fermer une application ouverte avec delphi [résolu]

n°163351
Aiua
PSN : Aiua / GT : Aiua42
Posté le 21-06-2002 à 14:11:28  profilanswer
 

j'ouvre un exe avec delphi comme celà :
[pascal]Function TDB_Import_inventaire.WinExecAndWait32(const P_FileName: string): Integer;
var
  L_StartupInfo: TStartupInfo;
  L_ProcessInfo: TProcessInformation;
  L_code: Cardinal;
begin
FillChar(L_StartupInfo,Sizeof(L_StartupInfo),#0);
with L_StartupInfo do
  begin
  cb := Sizeof(L_StartupInfo);
  dwFlags := STARTF_USESHOWWINDOW;
  wShowWindow := 0;
  end;
if not CreateProcess( nil , PChar(P_FileName), nil, nil, False,
                      CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil,
                      L_StartupInfo, L_ProcessInfo)
then
  Result := -1
else
  begin
  WaitforSingleObject(L_ProcessInfo.hProcess, 10000);
  GetExitCodeProcess(L_ProcessInfo.hProcess, L_code);
  Result := Integer(L_code);
  end;
 
//PostMessage(L_ProcessInfo.hProcess,WM_close,0,0)
 
;
//TerminateProcess(L_ProcessInfo.hProcess,0);
CloseHandle(L_ProcessInfo.hProcess);
CloseHandle(L_ProcessInfo.hThread);
end;
[/pascal]
 
l'exe que je lance doit normalement récupéré des données sur un lecteur de code barre connecté sur un port com, s'il ne trouve rien il envoie un time out et se ferme si je le lance à la main
si je le lance avec delphi sous win2k j'ai le meme comportement => pas de pb
mais sous win98, a priori il s'en fiche total du timeout, donc le programme reste en fond, et moi je voudrais qu'il se ferme
j'ai essayé les 2 méthodes en commentaire (en les plaçant avant ou apres les closehandle au cas où) rien ne marche, le prog reste en tache de fond :/
vous avez une solution pour le fermer ?


Message édité par Aiua le 21-06-2002 à 14:49:54

---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
mood
Publicité
Posté le 21-06-2002 à 14:11:28  profilanswer
 

n°163366
rufo
Pas me confondre avec Lycos!
Posté le 21-06-2002 à 14:26:16  profilanswer
 

pourquoi ne pas lancer ton exe par la commande winexec(...)?

n°163375
Aiua
PSN : Aiua / GT : Aiua42
Posté le 21-06-2002 à 14:30:29  profilanswer
 

est ce que ça me permet d'attendre que l'application ait fini de faire son boulot avec de passer à la suite ?


---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
n°163412
Aiua
PSN : Aiua / GT : Aiua42
Posté le 21-06-2002 à 14:49:33  profilanswer
 

c'est bon j'ai trouvé, il fallait mettre :  
PostThreadMessage(L_ProcessInfo.dwThreadId,WM_QUIT,0,0);
avant les closehandle :)


---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Fermer une application ouverte avec delphi [résolu]

 

Sujets relatifs
debutant en delphi recherche une aide !![SQL] Problème de TimeOut [Résolu]
[Delphi] String Tokeniser, Explode?Delphi : Peut-on charger une image sur le fond d'une fiche ?
Delphi Eviter les "éclairs" lors du passage d'une fiche à une autre...Delphi : garder les données de ma fiche pour la prochaine exécution !
Delphi ou C++Builder, FreeReport => utiliser le composant RichText?[PHP - MySQL] Problème connexion BDD MySQL (résolu)
comment imbriquer des menus .....? [RESOLU]Comment on programme un Tray icon dans Delphi?
Plus de sujets relatifs à : [Delphi] Fermer une application ouverte avec delphi [résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR