Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 05-10-2006 16:38:23

cedced  
Membre
Lieu: Puteaux
Date d'inscription: 19-09-2006
Messages: 9
Pépites: 38
Banque: 0

Faire un appel système

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

 

#2 06-10-2006 09:18:57

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: Faire un appel système

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


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 06-10-2006 09:48:14

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: Faire un appel système

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

 

#4 06-10-2006 14:59:56

cedced  
Membre
Lieu: Puteaux
Date d'inscription: 19-09-2006
Messages: 9
Pépites: 38
Banque: 0

Re: Faire un appel système

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

 

#5 09-10-2006 07:27:43

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: Faire un appel système

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....


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#6 09-10-2006 14:40:22

cedced  
Membre
Lieu: Puteaux
Date d'inscription: 19-09-2006
Messages: 9
Pépites: 38
Banque: 0

Re: Faire un appel système

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

 

Pied de page des forums

Propulsé par FluxBB 1.2.22