windows - Sådan overføres streng mellem applikationer ved hjælp af SendMessage i C ++

Indlæg af Hanne Mølgaard Plasc

Problem



Er det muligt at sende char * mellem 2 applikationer ved hjælp af en brugerdefineret besked i SendMessage? Jeg ved, at det er muligt at bruge WM\_COPYDATA, men jeg vil gerne vide, om jeg kan sende dette ved hjælp af brugerdefineret besked (WM\_USER + ..)


Tak skal du have!

Bedste reference


WM\_COPYDATA er blevet specifikt opdaget, fordi det du spørger ikke er muligt direkte. Dette fordi forskellige applikationer lever i forskellige adresselokaler, så en pointer, der er sendt fra et program, har ingen mening i en anden.


WM\_COPYDATA beskæftiger sig med problemet ved at bruge nogle IPC-mekanismer under hætten, hvilket er det, du normalt gør, når du vil dele data med et andet program; levedygtige muligheder er de sædvanlige: rør, delt hukommelse & co, se her for at se, hvad Windows giver. [3]

Andre referencer 1


Jeg er næsten sikker på, at det ikke er muligt. Den anden app vil ikke kunne læse direkte fra en peger til den første apps heap/stack.

Andre referencer 2


Her er en god artikel, som vil hjælpe dig med interprocess kommunikation. Det var nyttigt for mig at sende streng mellem to applikationer. [4]