GetFileSize Timeout bestimmen

kevkev

Erfahrenes Mitglied
Hallo,

Ich hab ein codeschnippsel im netz gefunden das mir die dateigröße einer datei anzeigt:
Code:
Public Function GetDownloadSize(ByVal InternetFile As String) As Long
'gets the size of a file in the internet (HTTP)
On Error Resume Next
Dim sInfo As String
Dim lInfoLen As Long
Dim hOpenUrl&
'open a connection to the file
hOpenUrl = InternetOpenUrl(hOpen, InternetFile, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
'get the size of the file
sInfo = Space$(1024)
lInfoLen = Len(sInfo)
HttpQueryInfo hOpenUrl, HTTP_QUERY_CONTENT_LENGTH, sInfo, lInfoLen, 0
GetDownloadSize = Val(sInfo)
'close the connection to the file
If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl)
End Function

Wenn ich z.b. http://kreedz.metagamez.net aufrufe, hängt sich das script auf.
der server ist mit ping erreichbar, aber auch per browser läßt sich die seite nicht aufrufen.
Der browser sagt zwar nicht das es den server nicht gibt, sondern es lädt, aber passieren tut nichts.
Wie kann ich am besten der function sagen: "Nach 30 sekunden is schluss und aus"?

gruß kevin
 
Hi KevKev

also ich bin mir nicht sicher, ob's die Lösung ist, aber es gibt doch auch den API-Call InternetSetOption, mit dem diverse Eigenschaften der Internetverbindung definiert werden können. Beim Googeln mit den Suchworten httpqueryinfo, internetsetoption und internet_option_connect_timeout bin ich auf diesen Link gestoßen: http://216.239.59.104/search?q=cach...ryinfo+INTERNET_OPTION_CONNECT_TIMEOUT+&hl=de
Leider geht nur der Google Cache. Aber hier ist ein kompletter VB Code.

Hope it helps
Das Orakel
 
Hi,

mhh, ich kom mit dem Code nicht weiter :(!
Könnte man das nicht ganz simpel mit dem timer machen?

gruß kevin
 
Zurück