[WD75] Récupération d'info sur une appli DOS lancée par Windev ?
4 réponses
aprosper_fr
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
- savoir quand l'appli est terminée
- récupérer son code retour
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et
exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le
cas.
On a donc soit une attente de fin d'appli pour avoir son code retour,
soit une execution en parallèle de l'appli windev mais sans pouvoir
avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de
m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process
travaillent uniquement sur un process courant ou ont besoin d'un
handle que je vois pas comment récupérer en Windev (LanceAppli permet
juste de récupérer le PID).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe
Deux cas :
-> Soit tu est capable de rediriger la sortir du programme console dans un fichier texte avec l'opérateur d'indirection -> Soit non et dans ce cas il te faut utiliser les API pour créer un pipe entre le programme console et ton process afin de rediriger les sorties STD(OUT, IN,ERR)
J'ai fait çà en C++ pour interfacer la sortie d'un programme console justement avec Windev mais pas facile... faut maitriser les pipe :)
A+ Philippe
"Alain" a écrit dans le message de news:
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
Deux cas :
-> Soit tu est capable de rediriger la sortir du programme console dans un
fichier texte avec l'opérateur d'indirection
-> Soit non et dans ce cas il te faut utiliser les API pour créer un pipe
entre le programme console et ton process afin de rediriger les sorties
STD(OUT, IN,ERR)
J'ai fait çà en C++ pour interfacer la sortie d'un programme console
justement avec Windev mais pas facile... faut maitriser les pipe :)
A+
Philippe
"Alain" <aprosper_fr@yahoo.fr> a écrit dans le message de
news:1d274be5.0407120351.33403b32@posting.google.com...
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
- savoir quand l'appli est terminée
- récupérer son code retour
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et
exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le
cas.
On a donc soit une attente de fin d'appli pour avoir son code retour,
soit une execution en parallèle de l'appli windev mais sans pouvoir
avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de
m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process
travaillent uniquement sur un process courant ou ont besoin d'un
handle que je vois pas comment récupérer en Windev (LanceAppli permet
juste de récupérer le PID).
-> Soit tu est capable de rediriger la sortir du programme console dans un fichier texte avec l'opérateur d'indirection -> Soit non et dans ce cas il te faut utiliser les API pour créer un pipe entre le programme console et ton process afin de rediriger les sorties STD(OUT, IN,ERR)
J'ai fait çà en C++ pour interfacer la sortie d'un programme console justement avec Windev mais pas facile... faut maitriser les pipe :)
A+ Philippe
"Alain" a écrit dans le message de news:
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
Georges PEYRE
Bonjour, Tu peux utiliser un petit moyen simple avec un fichier témoin de format .txt que tu feras renommer par ton programme DOS en fonction de la situation d'exécution du programme DOS
1) Tu crées avec un éditeur de texte le fichier TEMOIN.TXT qui contient une ligne de texte quelconque
Je veux faire un truc 'tout bête' : - Lancer une appli dos
2) Au début du programme DOS que tu lances avec lanceappli.. , tu fais un RENAME TEMOIN.TXT TEMOINDB.TXT 3) A la fin du programme DOS tu fais un RENAME TEMOIN.TXT TEMOINFI.TXT
- savoir quand l'appli est terminée - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
4) Dans ton programme Windev tu testes périodiquement avec un timer la présence du fichier TEMOINFI.TXT SI fFichierExiste(FrepEnCours()+"temoinfi.txt")
- récupérer son code retour ton programme DOS peut ajouter le code retour dans le fichier TEMOINFI.TXT
Si le fichier TEMOINFI.TXT existe tu fais un dernier RENAME TEMOINFI.TXT TEMOIN.TXT
Pas besoin d'API, mais c'est peut-être trop simple
Cordialement
Alain a exposé le 12/07/04 :
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
-- Elle est pas belle la vie ?
Bonjour,
Tu peux utiliser un petit moyen simple avec un fichier témoin de format
.txt que tu feras renommer par ton programme DOS en fonction de la
situation d'exécution du programme DOS
1) Tu crées avec un éditeur de texte le fichier TEMOIN.TXT qui contient
une ligne de texte quelconque
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
2) Au début du programme DOS que tu lances avec lanceappli.. , tu fais
un RENAME TEMOIN.TXT TEMOINDB.TXT
3) A la fin du programme DOS tu fais un RENAME TEMOIN.TXT TEMOINFI.TXT
- savoir quand l'appli est terminée
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
4) Dans ton programme Windev tu testes périodiquement avec un timer la
présence du fichier TEMOINFI.TXT
SI fFichierExiste(FrepEnCours()+"temoinfi.txt")
- récupérer son code retour
ton programme DOS peut ajouter le code retour dans le fichier TEMOINFI.TXT
Si le fichier TEMOINFI.TXT existe tu fais un dernier RENAME
TEMOINFI.TXT TEMOIN.TXT
Pas besoin d'API, mais c'est peut-être trop simple
Cordialement
Alain a exposé le 12/07/04 :
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
- savoir quand l'appli est terminée
- récupérer son code retour
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et
exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le
cas.
On a donc soit une attente de fin d'appli pour avoir son code retour,
soit une execution en parallèle de l'appli windev mais sans pouvoir
avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de
m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process
travaillent uniquement sur un process courant ou ont besoin d'un
handle que je vois pas comment récupérer en Windev (LanceAppli permet
juste de récupérer le PID).
Bonjour, Tu peux utiliser un petit moyen simple avec un fichier témoin de format .txt que tu feras renommer par ton programme DOS en fonction de la situation d'exécution du programme DOS
1) Tu crées avec un éditeur de texte le fichier TEMOIN.TXT qui contient une ligne de texte quelconque
Je veux faire un truc 'tout bête' : - Lancer une appli dos
2) Au début du programme DOS que tu lances avec lanceappli.. , tu fais un RENAME TEMOIN.TXT TEMOINDB.TXT 3) A la fin du programme DOS tu fais un RENAME TEMOIN.TXT TEMOINFI.TXT
- savoir quand l'appli est terminée - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
4) Dans ton programme Windev tu testes périodiquement avec un timer la présence du fichier TEMOINFI.TXT SI fFichierExiste(FrepEnCours()+"temoinfi.txt")
- récupérer son code retour ton programme DOS peut ajouter le code retour dans le fichier TEMOINFI.TXT
Si le fichier TEMOINFI.TXT existe tu fais un dernier RENAME TEMOINFI.TXT TEMOIN.TXT
Pas besoin d'API, mais c'est peut-être trop simple
Cordialement
Alain a exposé le 12/07/04 :
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
-- Elle est pas belle la vie ?
Georges PEYRE
Bonjour, Tu peux utiliser un petit moyen simple avec un fichier témoin de format .txt que tu feras renommer par ton programme DOS en fonction de la situation d'exécution du programme DOS
1) Tu crées avec un éditeur de texte le fichier TEMOIN.TXT qui contient une ligne de texte quelconque
Je veux faire un truc 'tout bête' : - Lancer une appli dos 2) Au début du programme DOS que tu lances avec lanceappli.. , tu fais un RENAME TEMOIN.TXT TEMOINDB.TXT 3) A la fin du programme DOS tu fais un RENAME TEMOINDB.TXT TEMOINFI.TXT
- savoir quand l'appli est terminée - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp 4) Dans ton programme Windev tu testes périodiquement avec un timer la présence du fichier TEMOINFI.TXT SI fFichierExiste(FrepEnCours()+"temoinfi.txt")
- récupérer son code retour ton programme DOS peut ajouter le code retour dans le fichier TEMOINFI.TXT
Si le fichier TEMOINFI.TXT existe tu fais un dernier RENAME TEMOINFI.TXT TEMOIN.TXT
Pas besoin d'API, mais c'est peut-être trop simple
Cordialement
Alain a exposé le 12/07/04 :
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
-- Elle est pas belle la vie ?
-- Elle est pas belle la vie ?
Bonjour,
Tu peux utiliser un petit moyen simple avec un fichier témoin de format
.txt que tu feras renommer par ton programme DOS en fonction de la
situation d'exécution du programme DOS
1) Tu crées avec un éditeur de texte le fichier TEMOIN.TXT qui contient
une ligne de texte quelconque
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
2) Au début du programme DOS que tu lances avec lanceappli.. , tu fais
un RENAME TEMOIN.TXT TEMOINDB.TXT
3) A la fin du programme DOS tu fais un RENAME TEMOINDB.TXT
TEMOINFI.TXT
- savoir quand l'appli est terminée
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
4) Dans ton programme Windev tu testes périodiquement avec un timer la
présence du fichier TEMOINFI.TXT
SI fFichierExiste(FrepEnCours()+"temoinfi.txt")
- récupérer son code retour
ton programme DOS peut ajouter le code retour dans le fichier
TEMOINFI.TXT
Si le fichier TEMOINFI.TXT existe tu fais un dernier RENAME
TEMOINFI.TXT TEMOIN.TXT
Pas besoin d'API, mais c'est peut-être trop simple
Cordialement
Alain a exposé le 12/07/04 :
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
- savoir quand l'appli est terminée
- récupérer son code retour
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et
exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le
cas.
On a donc soit une attente de fin d'appli pour avoir son code retour,
soit une execution en parallèle de l'appli windev mais sans pouvoir
avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de
m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process
travaillent uniquement sur un process courant ou ont besoin d'un
handle que je vois pas comment récupérer en Windev (LanceAppli permet
juste de récupérer le PID).
Bonjour, Tu peux utiliser un petit moyen simple avec un fichier témoin de format .txt que tu feras renommer par ton programme DOS en fonction de la situation d'exécution du programme DOS
1) Tu crées avec un éditeur de texte le fichier TEMOIN.TXT qui contient une ligne de texte quelconque
Je veux faire un truc 'tout bête' : - Lancer une appli dos 2) Au début du programme DOS que tu lances avec lanceappli.. , tu fais un RENAME TEMOIN.TXT TEMOINDB.TXT 3) A la fin du programme DOS tu fais un RENAME TEMOINDB.TXT TEMOINFI.TXT
- savoir quand l'appli est terminée - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp 4) Dans ton programme Windev tu testes périodiquement avec un timer la présence du fichier TEMOINFI.TXT SI fFichierExiste(FrepEnCours()+"temoinfi.txt")
- récupérer son code retour ton programme DOS peut ajouter le code retour dans le fichier TEMOINFI.TXT
Si le fichier TEMOINFI.TXT existe tu fais un dernier RENAME TEMOINFI.TXT TEMOIN.TXT
Pas besoin d'API, mais c'est peut-être trop simple
Cordialement
Alain a exposé le 12/07/04 :
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
-- Elle est pas belle la vie ?
-- Elle est pas belle la vie ?
aprosper_fr
Merci pour les réponses mais je souhaitais une gestion complète dans Windev.
Le truc du fichier txt n'est pas suffisemment sécurisé pour moi.
En fait, je me suis quand-même décidé à faire avec les API et ça fonctionne très bien. J'avais peur de la difficulté mais c'était injustifié.
Merci à tous.
(Alain) wrote in message news:...
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).
Merci pour les réponses mais je souhaitais une gestion complète dans
Windev.
Le truc du fichier txt n'est pas suffisemment sécurisé pour moi.
En fait, je me suis quand-même décidé à faire avec les API et ça
fonctionne très bien. J'avais peur de la difficulté mais c'était
injustifié.
Merci à tous.
aprosper_fr@yahoo.fr (Alain) wrote in message news:<1d274be5.0407120351.33403b32@posting.google.com>...
Je veux faire un truc 'tout bête' :
- Lancer une appli dos
- savoir quand l'appli est terminée
- récupérer son code retour
- pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un
certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et
exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le
cas.
On a donc soit une attente de fin d'appli pour avoir son code retour,
soit une execution en parallèle de l'appli windev mais sans pouvoir
avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de
m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process
travaillent uniquement sur un process courant ou ont besoin d'un
handle que je vois pas comment récupérer en Windev (LanceAppli permet
juste de récupérer le PID).
Merci pour les réponses mais je souhaitais une gestion complète dans Windev.
Le truc du fichier txt n'est pas suffisemment sécurisé pour moi.
En fait, je me suis quand-même décidé à faire avec les API et ça fonctionne très bien. J'avais peur de la difficulté mais c'était injustifié.
Merci à tous.
(Alain) wrote in message news:...
Je veux faire un truc 'tout bête' : - Lancer une appli dos - savoir quand l'appli est terminée - récupérer son code retour - pouvoir stopper l'appli dos si elle n'est pas terminée à partir d'un certain temp
Avec LanceAppli, je pourrais m'en sortir si exeNonBloquant et exeValeurRetour étaient utilisables ensembles... ce qui n'est pas le cas.
On a donc soit une attente de fin d'appli pour avoir son code retour, soit une execution en parallèle de l'appli windev mais sans pouvoir avoir le code retour.
Avant de me lancer dans les API qui, peut-être, me permettraient de m'en sortir, j'aimerais savoir si quelqu'un a une idée.
Côté API, ce sera pas simple car la plupart des API sur les process travaillent uniquement sur un process courant ou ont besoin d'un handle que je vois pas comment récupérer en Windev (LanceAppli permet juste de récupérer le PID).