Aufgabenstellung: Es soll jederzeit die aktuelle Pattern-Datei mit den neuesten Virendefinitionen von TrendMicro heruntergeladen werden. Problem: Der Dateiname des ZIP-Files ändert sich täglich Lösung: TrendMicro bietet eine ASP-Webseite an, in der der aktuelle Download-Link zu der Pattern-Datei vorhanden ist. Wir brauchen daher "lediglich" die ASP-Seite downloaden und nach dem Download-Link zur Pattern-Datei durchforsten. Das Zip-File beginnt hierbei immer mit lpt... (bspw. lpt318.zip). Hier nun der Code, der die ASP-Seite herunterlädt, lokal speichert und nach dem Link zur Pattern-Datei sucht: ' benötigte API-Deklaration Private Declare Function URLDownloadToFile Lib "urlmon" _ Alias "URLDownloadToFileA" ( _ ByVal pCaller As Long, _ ByVal szURL As String, _ ByVal szFileName As String, _ ByVal dwReserved As Long, _ ByVal lpfnCB As Long) As Long ' ASP-Seite downloaden und aktuelles Pattern-ZipFile ermitteln Dim sLocalFile As String Dim nResult As Long Dim sURL As String Dim sPatternLink As String ' URL der ASP-Datei sURL = "http://www.trendmicro.com/download/viruspattern.asp" ' Lokale Datei sLocalFile = Environ$("TEMP") If Right$(sLocalFile, 1) <> "\" Then sLocalFile = sLocalFile & "\" sLocalFile = sLocalFile & "viruspattern.asp" ' Datei zuvor löschen, fals vorhanden On Error Resume Next Kill sLocalFile On Error Goto 0 ' Datei downloaden und lokal speichern nResult = URLDownloadToFile(0, sURL, sLocalFile, 0, 0) If nResult = 0 Then ' jetzt Datei-Inhalt in String-Variable einlesen Dim sBuffer As String Dim F As Integer F = FreeFile Open sLocalFile For Binary As #F sBuffer = Space$(LOF(F)) Get #F, , sBuffer Close #F ' jetzt den Inhalt nach dem Zip-File durchforsten Dim nPos As Long Dim sTemp As String ' nach lpt suchen nPos = InStr(1, sBuffer, "lpt", vbTextCompare) If nPos > 0 Then ' jetzt den Link extrahieren nPos = InStrRev(sBuffer, Chr$(34), nPos) If nPos > 0 Then sTemp = Mid$(sBuffer, nPos + 1) nPos = InStr(sTemp, Chr$(34)) If nPos > 0 Then sPatternLink = Left$(sTemp, nPos - 1) End If End If End If Screen.MousePointer = 0 If Len(sPatternLink) > 0 Then ' Pattern-Link anzeigen If MsgBox("Pattern-Datei: " & sPatternLink & vbCrLf & "Jetzt downloaden?", _ vbQuestion Or vbYesNo) = vbYes Then ' Pattern-Datei downloaden Screen.MousePointer = 11 sLocalFile = App.Path & "\" & Mid$(sPatternLink, InStrRev(sPatternLink, "/") + 1) nResult = URLDownloadToFile(0, sPatternLink, sLocalFile, 0, 0) Screen.MousePointer = 0 If nResult = 0 Then MsgBox "Downlaod erolgreich" & vbCrLf & _ "Datei wurde ordnungsgemäß heruntergeladen!", vbInformation Else MsgBox "Beim Download ist ein Fehler aufgetreten!", vbCritical End If End If Else MsgBox "Leider konnte in der ASP-Seite kein Download-Link gefunden werden!", _ vbInformation End If Else Screen.MousePointer = 0 MsgBox "Fehler beim Versuch die ASP-Seite herunterzuladen!", vbCritical End If Dieser Tipp wurde bereits 11.737 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Tipp des Monats ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |