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

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  delphi lancer une fenêtre dos

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

delphi lancer une fenêtre dos

n°1294914
renard42
Posté le 30-01-2006 à 16:28:31  profilanswer
 

Bonjour,
je souhaite lancer un applicatif (logiciel) sur une machine distante.
Pour celà je dois lancer une fenêtre dos qui lance mon application via un client citrix.
En résumé :
comment lancer une fenêtre dos qui lance un client citrix et qui lance ensuite mon applicatif ?
 :??:

mood
Publicité
Posté le 30-01-2006 à 16:28:31  profilanswer
 

n°1294937
Zozol
Posté le 30-01-2006 à 16:45:40  profilanswer
 

voir http://forum.hardware.fr/hardwaref [...] 2658-1.htm
 
Tu lance un fichier BAT avec la commande ShellExecute de l'API windows.

n°1294963
renard42
Posté le 30-01-2006 à 17:00:28  profilanswer
 

Oui je sais bien mais c'est pas si simple / ma commande ne fonctionne pas :
ShellExecute(Handle, 'open', 'cmd',PChar('"C:\Program Files\Citrix\Client ICA\pn.exe"/APP "Mon appli" /PNI "61o0y200"+"dir"+#10#13'), nil, SW_SHOWNORMAL);

n°1294989
Zozol
Posté le 30-01-2006 à 17:14:27  profilanswer
 

renard42 a écrit :

Oui je sais bien mais c'est pas si simple / ma commande ne fonctionne pas :
ShellExecute(Handle, 'open', 'cmd',PChar('"C:\Program Files\Citrix\Client ICA\pn.exe"/APP "Mon appli" /PNI "61o0y200"+"dir"+#10#13'), nil, SW_SHOWNORMAL);


 
Déja, je ne peut pas deviner ce que "ne fonctionne pas" signifie. Il ne lance aucune comande? La fenetre DOS se lance sans rien faire?  
De plus, ce n'est pas ce que j'ai sugéré. Si tu sais lancer ton truc depuis une fenêtre DOS(si tu ne sais pas, je ne puis hélas t'aider), tu cré un ficher "toto.bat" avec ta commande, puis dans Delphi, tu met la ligne

ShellExecute(Handle, 'open', 'cmd',PChar('C:/MonRepertoire/toto.bat'), nil, SW_SHOWNORMAL);


 
--edit : A priori, ça supose que sur le système exécutant le programme Delphi, on n'ai pas reconfiguré le système pour que les .BAT s'ouvre avec un éditeur de texte. Je ne sais plus comment forcer l'ouverture dans une fenetre DOS sinon.


Message édité par Zozol le 30-01-2006 à 17:17:30
n°1294996
renard42
Posté le 30-01-2006 à 17:26:50  profilanswer
 

Merci pour tes éléments.
en fait la commande sous dos est la suivante :
C:\>   "C:\Program Files\Citrix\Client ICA\pn.exe"  /APP "Mon appli" /PNI "61o0y193"
 
ceci lance un client citix puis le logiciel Mon appli.
 
Rappelles moi stp un comment crer mon .bat ?
 
Merci

n°1295000
Zozol
Posté le 30-01-2006 à 17:31:20  profilanswer
 

tu prend note pad, tu tape dedans :

"C:\Program Files\Citrix\Client ICA\pn.exe"  /APP "Mon appli" /PNI "61o0y193"


(j'ai comme un doute sur la validité de tes guillemet, mais c'est à toi de voir)
puis tu fait "sauvegarder sous" et tu met une extetion en ".BAT"
 
T'a plus qu'a double-cliquer sur le ficher créer pour lancer la fenetre DOS et la comande.
 
Pour la suite, ça permet surtout de lancer plusieur commandes DOS d'un coup. Vive les .BAT! .BAT is good for you  [:alandon]  

n°1295001
renard42
Posté le 30-01-2006 à 17:34:51  profilanswer
 

Alors je viens de créer un .bat (toto.bat) dans le quel j'ai mis la ligne de commande  "C:\Program Files\Citrix\Client ICA\pn.exe"  /APP "Mon appli" /PNI "61o0y193"  
 
ShellExecute(Handle, 'open', 'cmd',PChar('C:/MonRepertoire/toto.bat'), nil, SW_SHOWNORMAL);
 
mais ça ne marche pas ? j'ai peux être oublié qq chose ??

n°1295057
Zozol
Posté le 30-01-2006 à 18:07:34  profilanswer
 

renard42 a écrit :

Alors je viens de créer un .bat (toto.bat) dans le quel j'ai mis la ligne de commande  "C:\Program Files\Citrix\Client ICA\pn.exe"  /APP "Mon appli" /PNI "61o0y193"  
 
ShellExecute(Handle, 'open', 'cmd',PChar('C:/MonRepertoire/toto.bat'), nil, SW_SHOWNORMAL);
 
mais ça ne marche pas ? j'ai peux être oublié qq chose ??


 
Oui  :fou:  
Tu a oublié de dire comment se manifeste le "ça ne marche pas"  :kaola:  
 
De toute façon, je suis sur que si tu ouvre une fenêtre DOS et que tu tape "C:\Program Files\Citrix\Client ICA\pn.exe"  /APP "Mon appli" /PNI "61o0y193" (avec les guillemet tel que tu les met), ça ne marche pas.

n°1295067
renard42
Posté le 30-01-2006 à 18:12:45  profilanswer
 

Ok Ok alors la fenêtre dos s'ouvre mais ensuite ... plus rien.
 
Or lorsque je doubleclique sur le . bat tout fonctionne. la fenêtre dos s'ouvre lance citrix qui lance à son tour l'appli..
 
Le . bat fonctionne parfaitement. mais lancer depuis delphi ça ne marche pas ;-((

n°1295069
renard42
Posté le 30-01-2006 à 18:13:57  profilanswer
 

ai-je été assez claire ? ou non sinon je précise.

mood
Publicité
Posté le 30-01-2006 à 18:13:57  profilanswer
 

n°1295075
breizhbugs
Posté le 30-01-2006 à 18:20:31  profilanswer
 

Salut,
Je ne sais pas en delphi, mais en C++ le caractere '\' st un caractere special donc dans une chaine de caractere pour qu'il soit pris en compte faut le doubler: 'C:\\MonRepertoire\\toto.bat'

n°1295079
aldo13000
Posté le 30-01-2006 à 18:23:33  profilanswer
 


Il doit manquer un '/c' dans ton truc .


---------------

n°1295082
Zozol
Posté le 30-01-2006 à 18:26:52  profilanswer
 

breizhbugs a écrit :

Salut,
Je ne sais pas en delphi, mais en C++ le caractere '\' st un caractere special donc dans une chaine de caractere pour qu'il soit pris en compte faut le doubler: 'C:\\MonRepertoire\\toto.bat'


Pas de problème en delphi

n°1295084
Zozol
Posté le 30-01-2006 à 18:28:06  profilanswer
 

renard42 a écrit :


ShellExecute(Handle, 'open', 'cmd',PChar('C:/MonRepertoire/toto.bat'), nil, SW_SHOWNORMAL);


c'est pas C:/MonRepertoire/toto.bat, mais C:\MonRepertoire\toto.bat
Si ça marche toujours pas, là je vois plus.


Message édité par Zozol le 30-01-2006 à 18:28:33
n°1295089
Zozol
Posté le 30-01-2006 à 18:29:28  profilanswer
 

renard42 a écrit :

ai-je été assez claire ? ou non sinon je précise.


C'est parfait, m'dame!  [:sachy]

n°1295130
renard42
Posté le 30-01-2006 à 20:17:54  profilanswer
 

Merci à tous  pour vos remarques ! Mais ça ne marche tjs pas.
La fenêtre Dos est bien lancée mais pas le client citrix !! ;-((

n°1295142
Zozol
Posté le 30-01-2006 à 20:46:42  profilanswer
 

Je n'ai pas de quoi tester ici, mais je te sugererais d'essayer plutot ceci:
 
 ShellExecute(handle, Nil, Pchar('c:\monrepertoire\MonFichier.bat'), nil, Nil, SW_SHOWNORMAL);
 
Le principe n'est pas de lancer la fenetre DOS avec le fichier BAT en paramètre (je sait pas si ça marche, en fait), mais de lancer le fichier BAT lui mème (avec l'ordre par defaut, d'où le "nil" à la place du "open" )
 
--edit--
Et si la fenetre DOS se ferme avant que tu ne puisse lire un message d'erreur, ajoute "pause" à la fin de ton ficher BAT. Si'il ne demande pas de taper une touche, ça veut dire que pour une raison ou une autre, il n'a pas exécuté le .BAT
 

commande1
commande2
pause


Message édité par Zozol le 30-01-2006 à 20:59:03
n°1295144
renard42
Posté le 30-01-2006 à 20:56:09  profilanswer
 

je vais essayer, Merci

n°1295145
renard42
Posté le 30-01-2006 à 21:00:48  profilanswer
 

Rien de neuf sous le soleil !  
Pourtant j'arrive bien à lancer le client citrix en double cliquant sur le .bat.
Pourquoi la ligne de commande n'apparaît elle pas ds la fenêtre dos ??
 
si tu as un mail je peux t'envoyer des copies d'écran ?

n°1295150
renard42
Posté le 30-01-2006 à 21:07:22  profilanswer
 

ça marche ! ;o))
Tu as bien vu !  
avec la commande suivante:
ShellExecute(Handle,nil,PChar('essai.bat'),nil, nil, SW_SHOWNORMAL);
 
Merci bc ! et chapeau pour ton expertise !


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

  delphi lancer une fenêtre dos

 

Sujets relatifs
[Delphi 6] Détecter la taille des polices (96 ou 120DPI) ?[Delphi 2005] Installer et utiliser les composants indy
comment vider la fenetreRafraichissement fenetre video windows media player
Lancer un programme et controler celui cilancer un programme sous une session differente
[delphi] unité Qt...[c]Lancer un .bat
convrertir un programme fait en c++ en delphihyperlien qui ferme une fenêtre en html
Plus de sujets relatifs à : delphi lancer une fenêtre dos


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