Toon posts:

[WinAPI] Check beschikbaarheid internet / server

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zoek een API functie (die vanaf Windows 98 beschikbaar is) die aangeeft of het systeem waarop een applicatie draait, toegang heeft tot internet (hetzij via een gateway, DUN of wat dan ook). Dus eigenlijk een PING maar dan verpakt in een API functie. Als internet namelijk niet beschikbaar is kan ik een foutmelding geven, voordat ik ook maar probeer een verbinding met een mailserver op te zetten.

Ik heb InternetCheckConnection reeds geprobeerd, maar die is niet echt consequent in de return codes; de returnvalue is altijd 0 (FALSE) waarop GetLastError de eerste keer 0 teruggeeft en daarna steeds de systemcode 2250. Ik vertrouw deze functie niet helemaal (misschien alleen van toepassing voor DUN?).

Ook InternetAttemptConnection bekeken, maar die is alleen voor het controleren van een DUN verbinding (?). Gaf in ieder geval ook steeds een 0 (FALSE) terug.

Me.

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 30-04 21:10
Welke programmeertaal moet het in komen te staan?

Als het in VB6 is, kan je onderstaande doen:

code:
1
2
3
4
Function CheckInternet(Website)
 Set WshShell = CreateObject("WScript.Shell")
 Shell "ping " & Website & " > " & App.Path & "\ping.txt", vbHide
End Function

En hierna moet je iets verzinnen wat de ping.txt uitleest of hij de website kan vinden of het goed gegaan is.
het zal vast ook op een makkelijkere manier kunnen, maar dit is het eerste wat er bij me opkwam :P

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

Topicstarter
Programmeeromgeving: NetCOBOL.

Shell-functies zoals in VB6 zijn niet te gebruiken. Maar ik kan wel net als C/C++ de verschillende API functies callen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 06-05 15:36
In de wininet.dll heb je een method die doet wat jij wilt.
(GetConnectedState oid)

[ Voor 18% gewijzigd door whoami op 13-06-2005 17:08 ]

https://fgheysels.github.io/


  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:13

The End

!Beginning

Winsock: gethostbyname

Verwijderd

Topicstarter
@The End

Thanks, dat lijkt em te zijn. Voor jou info, en iedereen die dit leest; deze functie is vervangen door getaddrinfo. Ga deze functie morgen even proberen, zal nog even posten of het idd doet wat ik wil.
Pagina: 1