Page 1 sur 1

lib process

Publié : mer. 08/juil./2026 20:51
par Guillot
salut les filles,

j'ai besoin de faire communiquer 2 pgs PB
le 1er pg lance le 2eme via runprogram et lui envoi une requette via WriteProgramString
- pgcible = RunProgram(...
- WriteProgramString(pgcible, "blabla")

le 2eme pg est sensé lui repondre, mais je sais pas comment
les commande ReadProgramString et WriteProgramString necessite le parametre "programme"
mais je vois pas comment identifier le pg appelant

si quelqu'un a piger le fonctionnement de la communication entre pg, merci de me l'expliquer

Re: lib process

Publié : jeu. 09/juil./2026 21:07
par Itsy Bitsy
Bonsoir Guillot,

Le plus simple serait de passer par de la memoire partagée.

Avec l'API CreateFileMapping_

Il y a un exemple ici :

https://www.purebasic.fr/english/viewtopic.php?t=66205

Il y a même le sendmessage/postmessage d'exemple, pour occasionner l'envoi d'une commande.

Avec l'usage d'une structure, c'est très flexible et simple d'usage. 8)

Re: lib process

Publié : ven. 10/juil./2026 11:02
par Guillot
merci
mais j'ai besoin que ce soit multiplateforme
et pis, j'aimerais comprendre la lib process !

Re: lib process

Publié : sam. 11/juil./2026 13:07
par Ar-S
Salut Guillot.

Alors je ne sais pas du tout comment utiliser ces commandes et surtout donner une version multiplateforme car j'utilise les API pour détecter quel exe tourne quand je lance 1 prog via un prog (par exemple un updater.)

Pour ruser j'utiliserai :
- Un timer dans chaque prog
- Un fichier texte tampon qui renferme les données avec un eurodatage
- En gros le soft 1 lance le 2
- création d'un txt vierge
- Chaque soft check le contenu du txt toutes les X
- Soft2 aussi, ainsi va la communication.
C'est grossier mais ça peut marcher. (en attendant une réponse plus pertinente)

Les exemples de la doc concernant les process Index devraient être plus fournis. C'est le vide totale.

Re: lib process

Publié : sam. 11/juil./2026 17:47
par Jacobus
Salut Guillot, même de plusieurs façons ça ne fonctionne pas, il faut que les deux prg soient lancés avec RunProgram()...
Même le copilot arrive à se perdre dans des trucs pas possibles :lol:
Tente avec les API

Re: lib process

Publié : sam. 11/juil./2026 23:03
par SPH
Si les 2 programmes sont sur le meme ordi, pourquoi ne passerais tu pas par un fichier "data" que l'on ecrit et que l'autre lit ?

Re: lib process

Publié : lun. 13/juil./2026 9:07
par falsam
L'application A (SimpleA.exe) envoie un message à l'application B (Simple.b.exe)

■ Application A

Code : Tout sélectionner

; Application A
message$ = "Bonjour depuis A"
RunProgram("simpleB.exe", Chr(34) + message$ + Chr(34), "")
■ Application B

Code : Tout sélectionner

; Application B
message$ = ProgramParameter()
MessageRequester("B a reçu", message$)