Avatar billede cope21 Nybegynder
10. april 2000 - 14:38 Der er 5 kommentarer

modem disconnect

Hvad er kommandoen for at disconnecte et modem?

Altså: Jeg er på nettet via TeleDK fx. og skal have et program kørende hvor jeg ved tryk på en knap kobler af nettet. Hvordan er koden?
Avatar billede sjensen Nybegynder
10. april 2000 - 14:47 #1
cope21,

det er ikke helt så let som du måske tror. Det program du har aktiveret opkaldet med (EI, OE eller hvad det nu er) "ejer" den serielle port der bruges til forbindelsen mellem pc og modem.

Du kan derfor ikke lave et simpelt delphi program der lige åbner porten, sender en disconnect string (der er noget med AT&H for hang up) og så lukker porten igen.

Men du kunne selvfølgeligt lave et delphiprogram der åbner porten først (og ringer op til teledk) og derefter starter det program du bruger (EI eller OE o.s.v.). Så vil du selvfølgeligt kunne afbryde bare ved at trykke på en knap.

For at styre det ordentligt skal du have fat i et com-port komponent a la Async Pro fra TurboPower (http://www.turbopower.com) eller et af de gratis komponenter du kan finde på DSP (http://sunsite.icm.edu.pl)
Avatar billede cope21 Nybegynder
10. april 2000 - 20:42 #2
Men så skal man jo kode et program der virker ligesom når man ringer op med standardprogrammet i Netværk Via Modem. Der må da være en nemmere måde, hvorpå det kan lade sig gøre? Evt. ved at sende ATH0 strengen til dette program? Ligesom du kan sende strengen som parameter i en ping til k56 flex modems og så de disconnecter. Altså en måde, hvorpå programmet ligesom overtager "ejer-skabet" på den åbne port?

Avatar billede sjensen Nybegynder
10. april 2000 - 23:36 #3
Ja, men det der med at overtage ejerskabet er bare ikke så enkelt. En comport er ikke en "shared device". Du kan jo teste ved at bruge f.eks. hyperterm og prøve at åbne porten mens du er koblet på internettet. Så kan du se hvad der sker, og der er nøjagtigt det samme du får ud af Delphi.

Men det med at sende tastesekvensen til det program der styrer porten er en mulighed. Hvis du kan finde ud af hvilke taster der skal trykkes på i det pågældende program for at få lukket porten, så kan du lave et delphi program der finder programmet via "findWindow" (eller apikaldt EnumWindows) og derefter "sender" tastetrykkene til det. I visual basic er der en funktion der hedder SendKeys der kan sende de tastetryk du vil have udført. Men denne funktion findes ikke i Delphi. MEN... Der er dog hjælp at hente også her: På Delphi Super Page har jeg set flere komponenter der virker som sendkeys. Dem kan du hente og teste og på den måde kan du opbygge en tilsvarende funktion. Du kan evt. også søge efter noget "FindWindow" samtidig mens du er der, for at se hvilke komponenter der findes til at gøre det lettere.
Avatar billede kim_friis Nybegynder
30. maj 2000 - 10:35 #4
Prøv evt. denne funktion i WinInet.pas:
InternetAutodialHangup(0);
Jeg sidder desværre ikke lidt med et modem så jeg kan afprøve det, men hvis internetforbindelsen er oprette automatisk, så skulle denne her kunne afbryde den. Hvis du også vil kunne connecte, så prøv denne funktion:
InternetAutodial(0,0);
Ligeledes i WinInet.pas
Avatar billede bmk Nybegynder
05. november 2000 - 23:44 #5
Hejsa..

Der er et activeX (eller indbygning til Delphi) som kan styrer dit modem med hård Hånd. selve Rutinen hedder Dialupt. Hvis du sender mail til følgende adresse vil jeg sende dette program retur. Hvis du får dette program skal du bare skrive

DialUp.HangUp;
Min Mail adresse er

bjarne.michael@get2net.dk

Hilsen Bjarne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester