Jeg har et lidt pudsigt problem. Jeg har lavet et program som ligger sig i tray og kører. Når så brugeren eventuelt vil starte endnu et eksemplar af samme program, vil jeg gerne at det allerede kørende program starter en ny tråd op med endnu en instans af programmet, fremfor at der skal startes en helt ny proces op med tilhørende garbage collector osv.
Mit problem er hvordan jeg sendes besked fra den nyligt startede instans af programmet til den allerede kørende, så den der kører kan starte en ny tråd, og den nyligt startede kan lukke sig selv ned igen.
Det skal lige nævnes at programmet ikke arver fra WinForm men istedet ApplicationContext, så det udelukkende kører i Tray. Jeg kan derfor ikke snuppe window handlet og bare sende en message via SendMessage eller PostMessage til hovedvinduet.
Jeg har tænkt på at sætte det første instans op som TCP server, men jeg vil helst ikke bruge ressourcer på det, hvis nu brugeren ikke starter flere instanser op.
Jeg har ligeså tænkt på named pipes, men igen er jeg ret sikker på at "server" delen så skal bruge ressourcer på at stå og lytte, hvilket jeg gerne vil undgå.
Ligeså må det ikke være en løsning der involverer et delay (f.eks. noget fusk med at skrive til en fil, hvor første instans af programmet så tjekker på filen)
Det jeg søger er altså en løsning, der ikke bruger nogle nævneværdige ressourcer på "server" delen (dvs. den første instans man starter op). Om det koster lidt ressourcer når der skal startes ny tråd osv. er ligegyldigt, da det jo kun er en kort periode.
Håber problemet er ordentligt beskrevet, ellers må i bede mig uddybe :)
--
Gæstebruger, opret dit eget
login og få din egen signatur.