Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Est-il possible de faire un appel système à partir de code PBScript ?
Mon besoin : lancer et arrêter une application externe tournant sous Windows (Acrobat ou Word) à partir de mon client PB.
Merci d 'avance.
Hors ligne
il me semble qu'il faut passer par un ole...
sinon, il y a la commande RUN.
j'attends la reponse des autres forumeurs,
et sinon, je ferai des recherches d'ici la...
Mais le but finale, c'est quoi ?
lancer une appli word, avec un fichier attribué ?
A+ et bon courage
Hors ligne
cedced a écrit:
Bonjour,
Est-il possible de faire un appel système à partir de code PBScript ?
Mon besoin : lancer et arrêter une application externe tournant sous Windows (Acrobat ou Word) à partir de mon client PB.
Merci d 'avance.
Tout est dans le "arrêter".
Tu as la fonction Run, qui permet de lancer un exécutable. Malheureusement, c'est un lancement asynchrone : PB lance l'application externe, te rend la main de suite et tu n'as plus de contrôle dans PB de ce que tu as lancé.
Je vois deux autres solutions
- Pilotage de l'application externe au travers de son API OLE
- ça : http://www.pbdr.com/software/comp/modules.htm , module "Create Process". C'est un objet PB qui utilise l'API Win32 pour lancer un process externe et le gérer.
Hors ligne
Effectivement, je veux pouvoir lancer ET arrêter n'importe quelle appli externe sous Windows depuis mon appli PB
J'ai trouvé un truc assez court ici qui consiste à déclarer des fonctions externes faisant partie de la dll "user32.dll" et à les utiliser pour arrêter mon appli externe.
En combinant la commande RUN qui lance l'appli externe avec des envois de message WM_QUIT pour l'arrêter, je peux faire ce que je désire.
Hors ligne
donnes nous des nouvelles de ta methode...
Sinon, comment fais-tu pour fermer l'application word, dans le cas ou il y a plusieurs sessions word ouvertes ?
juste une petite question....
Hors ligne
Un pré-requis est de tester si l'application externe concernée tourne déjà avant d'exécuter la commande RUN.
Pour le reste, je vous tiens au courant.
Dernière modification par cedced (09-10-2006 14:41:01)
Hors ligne