Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Thorben
Anmeldungsdatum: 26.04.2005 Beiträge: 173 Wohnort: SH
|
Verfasst am: 15.11.2005, 15:13 Titel: Ping per WinAPI |
|
|
Hey!
Hat jemand ne Ide wie man per WinAPI einen Ping ausführen kann,
oder wie man festellen kann ob ein Computer im Netzwerk ist oder nicht.
thx Thorben |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Thorben
Anmeldungsdatum: 26.04.2005 Beiträge: 173 Wohnort: SH
|
Verfasst am: 21.11.2005, 16:03 Titel: |
|
|
Jor Danke mal sehen ob ich das hinbekomm.
Hät nicht gedacht das das so aufwendig ist. |
|
Nach oben |
|
|
PeterHarder
Anmeldungsdatum: 27.03.2005 Beiträge: 45 Wohnort: Deutschland
|
Verfasst am: 27.11.2005, 13:51 Titel: |
|
|
Thorben hat Folgendes geschrieben: | Hät nicht gedacht das das so aufwendig ist. |
Das ist überhaupt nicht aufwendig, du brauchst dazu nur eine Funktion aus der "WinInet.dll" die da lautet "InternetCheckConnection".
Geb' mal bei Google msdn internetcheckconnection ein, dann findest du sie.
Hier ein Beispiel-Code aus GFA-Basic:
Code: | Declare FunctionA InternetCheckConnection Lib "wininet.dll" _
(ByVal url As String, _
ByVal dwFlags As Long, _
ByVal dwReserved As Long) As Bool
MsgBox InternetCheckConnection("http://www.google.de", 1, 0) |
Das ist schon die komplette Abfrage, mehr ist das nicht. Wenn du es nach FreeBasic umschreibst, dann muss wohl das "A" hinter "Function" weg, dafür ein "A" bei "InternetCheckConnection" anhängen, wenn ich nicht irre. Außerdem geht das "As Bool" unter freeBASIC nicht (oder inzwischen doch?), stattdessen Long verwenden. Aber egal, du wirst es schon hinbekommen.
Ich glaub', du kannst damit auch IP-Nummern abfragen, forsch' dafür aber lieber nochmal im Internet nach.
Schönen Sonntag noch!
Liebe Grüße
Peter _________________ Deutsche Mailingliste für freeBASIC: de.groups.yahoo.com/group/free-basic.
Zum Anmelden einfach eine leere E-Mail an free-basic-subscribe@yahoogroups.de senden. |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 27.11.2005, 14:15 Titel: |
|
|
Hallo.
Ich glaube, dein beispiel prüft nur, ob eine verbindung besteht. Der Ping gibt aber an, wie groß die verzögerung zum server(bzw. internetseite, blabla) ist. Weiß ich aber auch nicht so genau.
Michael
EDIT: Wikipedia
Etwas weiter unten ist ein beispiel, wie ping normal aussieht. Ich weiß nicht, ob man sowas auch mit deinem Beispiel machen kann.
EDIT²:
Code: |
screen 12
dim start as double
Declare Function InternetCheckConnection Lib "wininet.dll" ALIAS "InternetCheckConnectionA"_
(ByVal url As String, _
ByVal dwFlags As Long, _
ByVal dwReserved As Long) As long
for i = 1 to 10
start=timer
InternetCheckConnection("http://www.google.de", 1, 0)
print using "#.###";timer-start
next i
sleep |
Die werte sind nicht ganz gleich mit dem ping in der eingabeaufforderung. Ausserdem sind nicht alle ungefähr gleich. |
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 02.01.2006, 13:24 Titel: |
|
|
Wenn ich den letzten code (den von programmierer) ins freebasic abtipp, kann ich ihn compilieren und auch starten nur dann kommt eine fehlermeldung:
Die Anwendung wird aufgrund eines ungültigen vorgangs geschlossen
an was kann das liegen?
//edit: also ich habs jetzt an mehreren pcs ausprobiert: es funktioniert nur bei einem (xp) und bei 4 anderen (win98) nicht, ist das ein "98-inkompatibles" program??? _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
|