Toon posts:

[VB6] Shell ping aanroep werkt niet? *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een programmatje maken dat in de gaten kan houden of je internet verbinding het nog doet of of een server nog werkt enz.

Hierbij kan ik natuurlijk makkelijk gebruik maken van het ping.exe programmatje dat bij windows zit.

In vb gebruik ik deze code om het programma te starten:
code:
1
Call Shell("ping " & host & " >" & filedir)

Dit werkt echter niet, je ziet heel even het schermpje (van dos). Als je bij uitvoeren hetzelfde doet (zoiets als: ping startpagina.nl >C:\results.txt) doet ie procies hetzelfde. Als je echter eerst command.com start en daarna precies deze text plakt (ping startpagina.nl >C:\results.txt) dan werkt het wel gewoon.

Iemand een oplossing??
(ik gebruik XP als dat misschien uitmaakt)

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Ja, er is een oplossing:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Option Explicit
Public Declare Function InternetGetConnectedState _
Lib "wininet.dll" (ByRef lpSFlags As Long, _
ByVal dwReserved As Long) As Long

Public Const INTERNET_CONNECTION_LAN As Long = &H2
Public Const INTERNET_CONNECTION_MODEM As Long = &H1

Public Function Online() As Boolean
    'If you are online it will return True, otherwise False
    Online = InternetGetConnectedState(0& ,0&)
End Function

Public Function ViaLAN() As Boolean

Dim SFlags As Long
'return the flags associated with the connection
Call InternetGetConnectedState(SFlags, 0&)

'True if the Sflags has a LAN connection
ViaLAN = SFlags And INTERNET_CONNECTION_LAN

End Function
Public Function ViaModem() As Boolean

Dim SFlags As Long
'return the flags associated with the connection
Call InternetGetConnectedState(SFlags, 0&)

'True if the Sflags has a modem connection
ViaModem = SFlags And INTERNET_CONNECTION_MODEM

End Function

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Leuke oplossing, maar zo kan ik toch niet uitvinden of een server down is (niet me eigen compu) en ik krijg ook niet de informatie netjes in een textbestandje.

Weet iemand waarom mijn oplossing niet gewoon werkt??

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Waarom wil je in vredesnaam de info in een txtfile? En de output van ping zou ik niet bepaald "netjes" willen noemen.

Om te checken voor een server die up is, ga je naar www.planetsourecode.com en zoek je op "ping", dan kun je pingen.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Dat er iets niet werkt komt hier vaker voor, daarom heb ik je topic titel even wat bijgeschaafd ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment