Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Lancer deux shellexecute [ Système / Exécution ] (jmonnier)

vendredi 3 octobre 2008 à 14:40:20 | Lancer deux shellexecute

jmonnier

Bonjour,

Je voudrais lancer ces deux processus:
ShellExecute(GetActiveWindow,nil,PChar(chemin),PChar('-c -sd -user "'+sUser+'" -pwd "'+sMDP+'" "'+sConnexion+'"'),nil,sW_SHOWMINIMIZED);
   
ShellExecute(GetActiveWindow,nil,PChar(chemin2),PChar('-c: -h: -m:+sIP -u:+sUser -p:+sMDP -a:2'),nil,sW_SHOWNormal);

Mais pour le moment ils se lancent en même temps alors que ce qu'il me faudrait c'est que le second se lance une fois le premier aboutit.

Pouvez-vous m'aider ?
 

Jocelyn

vendredi 3 octobre 2008 à 15:52:54 | Re : Lancer deux shellexecute

JulioDelphi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut
Sais tu combien de temps le 1er shell mets à s'executer/se fermer ?
si c'est fixe, tu peux faire un sleep(2000); par exmple (2000 = 2 secondes)

Si ce n'est pas fixe, est ce que ça ouvre, puis ferme une fenetre ?
Dans ce cas, tu peux "choper" la fenetre qui s'ouvre puis si elle se ferme (son handle est détruit) alors le 2eme se lance !

vendredi 3 octobre 2008 à 15:57:42 | Re : Lancer deux shellexecute

L_art_ment

Réponse acceptée !
Bonjour,
Si les deux ShellExecute executent des lignes de commandes, j'ai une procedure qui lance la ligne de commande et attend qu'elle se finisse.
Si les deux ShellExecute font autre chose qu'executer des lignes de commandes alors je suis à côté de la plaque et je n'ai pas de meilleure réponse à t'apporter


L'Armand joue, l'arme en joug... Mon site

vendredi 3 octobre 2008 à 22:08:35 | Re : Lancer deux shellexecute

Francky23012301

Membre Club
Réponse acceptée !
Salut, Essaye ca :

procedure TForm1.Button1Click(Sender: TObject);
begin
  If ShellExecute(GetActiveWindow,nil,PChar('notepad.exe'),Nil,nil,sW_SHOWMINIMIZED)>=32 Then
  ShellExecute(GetActiveWindow,nil,PChar('C:\Program Files\VideoLAN\VLC\vlc.exe'),Nil,nil,sW_SHOWMINIMIZED);
end;

Chez moi NotePad s'ouvre et ensuite c'est VLC. Le laps de temps n'est pas énorme par contre.

samedi 4 octobre 2008 à 08:27:04 | Re : Lancer deux shellexecute

PHIL63

Membre Club
Réponse acceptée !
Bonjour,
Cette fonction n'est pas de moi (j'aurais bien aimé ), que son auteur me pardonne de ne pas le cité (je ne sais plus qui c'est) mais elle fonctionne parfaitement en remplacement de ShellExecute quand on veux attendre la fin de l'exécution d'un programme.

Le paramètre "voir" permet d'afficher ou non le programme lancé (c'est pratique), les autres paramètres se passe d'explication .

Déclaration :
Function ExecuteWait(Programme, parametres :string;voir :Boolean):Boolean;

Implémentation :
// Fonction permettant de lancer un programme externe et d'attendre la fin de celui-ci avant de continuer
Function TForm1.ExecuteWait(Programme, parametres :string;voir :Boolean):Boolean;
var ShExecInfo : TShellExecuteInfo;
begin
 try
   FillChar(ShExecInfo, SizeOf(ShExecInfo), 0);
   with ShExecInfo do
      begin
         cbSize := SizeOf(ShExecInfo);
         fMask  := SEE_MASK_NOCLOSEPROCESS;
         lpFile := PChar(Programme);      { le nom du programme }
         lpParameters := PChar(Parametres); { Les paramètres }
         lpVerb := 'open';
         if voir = True then nShow := SW_SHOW else nShow := SW_HIDE;
     end;
   if ShellExecuteEx(@ShExecInfo) then
       begin       { on execute le programme }
           WaitForSingleObject(ShExecInfo.hProcess, INFINITE); { on attends un temps indefinie que l'appli s'arrete }
       end;
   result := True;
 except
   result := False;
 end;
end;


Philippe DROUET

lundi 6 octobre 2008 à 11:09:39 | Re : Lancer deux shellexecute

jmonnier

Salut,

Merci à vous tous. Je pense que je vais m'en sortir avec vos réponses.
Sympa à vous.
Jocelyn

lundi 6 octobre 2008 à 13:55:33 | Re : Lancer deux shellexecute

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

CreateProcess, c'est bien aussi. Exemple d'attente ici.


lundi 6 octobre 2008 à 21:48:42 | Re : Lancer deux shellexecute

L_art_ment

Tient, salut rt15 


L'Armand joue, l'arme en joug... Mon site



Cette discussion est classé dans : lancer, shellexecute, nil, pchar, getactivewindow


Répondre à ce message

Sujets en rapport avec ce message

ShellExecute probleme [ par g0belin ] voila je voulais faire un pti prog simpa pour envoyer des net send mais j'ai un probleme:si je fais ça, sa marche :-----------------------------ShellE Ouvrir une fenêtre avec ses dimensions [ par Pilou ] Comment peut on attribuer la taille et position d'une fenêtre qu'on ouvre avec shellexecute ?ShellExecute (handle,'Open', PChar('c:\windows\') ,PChar Fonction ki execute tout et n'importe koi et attend sagement la fin [ par Gysmo ] J'ai trouver cette excelentissime fonction sur le web:function LaunchNWaitEnd(sFile: string): boolean;var cExe: array [0..255] of Char; sExe, Fichie Vidéo Media Player [ par Rowan ] Bonjours à tous,Je possède DELPHI4.Comme puis-je faire pour lancer une vidéo avec le MediaPlayer de windows en mode pleine écran?L'API ShellExecute, n classe TService :Application Service et lancement d'executable [ par zorg724 ] Bonjour, j'ai créé un service window (programme qui tourne en tache de fond- icone 'service' dans le menu nouveau->application sous delphi : Classe TS Probleme de ShellExecute tordu ! [ par DeltaFX ] 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 lan Comment lancer un fichier? [ par corpse ] Bonjour à tous, tout d'abord bravo pour le dynamisme de ce forum et les comptétences (!) de certains...Je débute en delphi et souhaite réaliser un pro ShellExecute [ par eric_delphi_man ] Voici mon programme( Application console) pour lancer automatiquement mon logiciel, et il ne marche pas je ne comprend pas merci de me donner la repon Envoyer informations à un autre programme [ par Also know as ] Bonjour, Voilà j'ai crée deux programme, un qui lance les vidéos et le second qui prend tout simplement le lecteur windows media. Je cherche à envoy mail, adresses de sites et explorer [ par barbichette ] bonjour,je cherche à ouvrir la fenêtre de mail, d'internet ou un repertoire sur le disque via mon application.je sais que :ShellExecute(0,nil,'mailto:


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.