Internetforbindelse

Tags:    delphi

User
Bruger #506 @ 04.11.01 12:41
Hej

Jeg er i gang med at lave et program, som skal bruges til at sende data over internettet. Når man starter transmisionen, vil programmet naturligvis oprette en forbindelse til nettet, hvis der ikke allerede findes en sådanne.

Problemet kommer så når man er færdig med at sende. Så skal forbindelsen naturligvis afbrydes, men kun hvis den ikke bliver brugt til andet. Hvis man i mellemtiden har åbnet sit email program eller lignende, er det jo ikke smart at den afbryder.

Findes der en måde som man kan styre dette på. Jeg ved, at microsoft som regel har held med at styre det selv, men kan andre også lave det så det virker.




2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Det er meget svært det du har gang i der.

Microsoft har haft succes med at styre deres egne programmer. Fordi de kan kommunikere med hinanden når de køre.

(Følgende Afsnit er ren og skær spekulation - Det er altså ikke noget jeg ved med sikkerhed)
Så du nok ved er Windows et "message" baseret system, dette er faktisk meget smart for så kan man lave kommunikation imellem 2 programmer. (Jeg har fx. selv lavet en uninstaller som kan lukke et program ned, hvis det kører når bruger ønsker at uninstaller, ved at sende en besked til det). Det er det microsoft bruger når det skal finde ud om et af deres programmer bruger en internet forbindelse.

Du kan ikke "tale" med andre programmer med mindre du ved hvad du skal "sige" til dem, men du kan prøve at kigge på www.microsoft.com/sdk - For at se om du kan finde noget, men jeg tvivler.

Jeg mener at du kan gøre 2 ting...
1. Lave en "low-tech" løsning og give brugeren en "Luk internet forbindelse når dataoverførslen er færdig" Checkbox.
2. Bruge FindWindow functionen til at finde ud af om et af programmerne kører, men du kender jo selvfølgelig ikke alle programmer som bruger en internet forbindelse

Men jeg vil mene at hvis det er dit program som opretter forbindelsen, skal du nok selv lukke den ned.

Why Aren't You Coding ?
Aaangel



User
Bruger #58 @ 05.11.01 18:41
Tjaa, det her er også beseret på ren spekulation, men jeg tror at der er en slags Reference Counter for programmer der bruger en internet-forbindelse, så når et program vil bruge Internet siger det til Windows: "Jeg skal bruge Internet". Hvis der ikke er en forbindelse bliver der etableret en og en tæller bliver sat til 1; hvis der allerede er en forbindelse bliver tælleren bare hævet med 1. Når et program ikke længere skal bruge Internet siger det: "Så, nu er jeg færdig", og så gør Windows tælleren 1 mindre. Hvis tælleren når 0 bliver forbindelsen lukket, men kun hvis brugeren har valgt det i Internet Explorer indstilingerne.

Jeg kan desværre ikke komme med noget kode, for det her er jo som sagt kun gætværk. Mit bedste bud vil være at kigge på http://msdn.microsoft.com/ og se om du kan finde noget der.

<pre> /^ g4s : gee-four-s aka. Niels Martin Hansen<br> \\/ _ mail : g4s [at] mail [dot] dee-kay<br> /__| icq : 50 18 73 23<br> _|</pre>



t