Probleme de ShellExecute tordu ! [Résolu]

DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 9 janv. 2005 à 19:23 - Dernière réponse : JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention
- 10 janv. 2005 à 15:25
Hello World :)

Petit problème avec le lancement d'une appli externe (mais un peu + tordu, quand meme )

J'ai donc un bout de code sous Delphi7 qui me lance une appli externe :

ShellExecute(Application.Handle,nil,'D:\Program Files\Mapsonic\mapstore.exe',nil,nil,SW_SHOWDEFAULT);

qui marche tres bien. Là ou le bat blesse, c'est que l'executable là a la facheuse manie de mettre la balance audio tout à gauche, et c'est pas solutionnable.

Or donc, dans le petit monde du carmedia, qqun a fait un minitruc en VB qui lance mapstore, attend, n milliseconde, et remet la balance au centre. Ce prog, balance.exe n'a aucune interface, aucune fenetre.

Je peux exécuter balance.exe depuis zindoz en doublecliquant dessus, depuis une fenetre dos aussi. Mais si dans mon prog Delphi je mets

ShellExecute(Application.Handle,nil,'D:\Program Files\Mapsonic\balance.exe',nil,nil,SW_SHOWDEFAULT);

Pouf, je recoit en retour une jolie fenetre Erreur53, fichier introuvable, alors que le nom et le chemin du dit fichier sont corrects.

Et là, à force de ramer, j'attaque la falaise....

gnhelp :)
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_ManChesTer 378 Messages postés vendredi 20 octobre 2000Date d'inscription 11 décembre 2013 Dernière intervention - 10 janv. 2005 à 03:42
3
Merci
Essaye avec :

Uses SysUtils;
var F:String;

F:='D:\Program Files\Mapsonic\balance.exe';

ShellExecute(Application.Handle,'open',Pchar(F),nil,Pchar(ExtractFilePath(s)),
SW_SHOWDEFAULT);

Bon Coding ....

ManChesTer.

Merci cs_ManChesTer 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_ManChesTer
cs_ManChesTer 378 Messages postés vendredi 20 octobre 2000Date d'inscription 11 décembre 2013 Dernière intervention - 10 janv. 2005 à 03:43
0
Merci
oupps...

ExtractFilePath(F) et pas s, lol

Bon Coding ....

ManChesTer.
Commenter la réponse de cs_ManChesTer
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 10 janv. 2005 à 11:13
0
Merci
Cool. Il fallait donc lui préciser le repertoire de travail, bizarre... m'enfin ca roole :)

Merci bôcoo :D

gnh !
Commenter la réponse de DeltaFX
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 10 janv. 2005 à 11:20
0
Merci
Autre problème, a la fermeture maintenant, grmblblblblbbl

je ferme mapstore avec :

Hndl:=FindWindow(nil,'ViaMichelin Mapstore 2.32');
SendMessage(Hndl,WM_CLOSE,0,0); // 0,0 ou 1,1, pareil

Et là systématiquement j'ai droit a la pitie fenetre du programme qui a planté :
"Ce programme va être arreté car il a effectué une opération non conforme, gnagnaganag, Fermer, Debuguer, Détails>>"

Y aurait il un moyen de fermer un prog de manière propre ?
Commenter la réponse de DeltaFX
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 10 janv. 2005 à 12:28
0
Merci
Une petite précaution s'impose avant de femer une fenêtre qui n'aurait pas été trouvée :

  Hndl:=FindWindow(nil,'ViaMichelin Mapstore 2.32');
  if Hndl <> 0 then
    SendMessage(Hndl,WM_CLOSE,0,0);


Es-tu sur à 100% que 'ViaMichelin Mapstore 2.32' est bien le titre qui apparait en haut de la fenêtre de l'application à fermer ?

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.croix-rouge.fr/index/partner_campagne.html
Commenter la réponse de cs_Delphiprog
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 10 janv. 2005 à 14:29
0
Merci
Vivi, sur a 100% je viens de checker. D'ailleurs mapstore se ferme bien, mais j'ai ce warning....

gnh !
Commenter la réponse de DeltaFX
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 10 janv. 2005 à 15:25
0
Merci
attention de ne pas poster 2 questions differentes dans le meme post !
mieux vaut faire 2 questions surtout si il y a une "reponse acceptée" :/

deltafx : ton probleme viens d'ailleurs je pense.
Commenter la réponse de JulioDelphi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.