du solltest das programm natürlich so schreiben, das es sich immer selbst die daten von den zugehörigen websites sucht...
hier ein beispiel für d2 lod patches:
Code:
#include <GuiListView.au3>
GUICreate("D2 LOD Updater", 260, 225, Default, Default)
$list = GUICtrlCreateListView("File|Size|Date", 0, 0, 260, 200)
$download = GUICtrlCreateButton("Download", 0, 200, 260)
GUISetState()
$inet = BinaryToString(InetRead("http://ftp.blizzard.com/pub/diablo2exp/patches/PC/"))
$search = StringRegExp($inet, '<br>.*?, (\w+) (\d+), (\d+) .*?(?:PM|AM)\x20+(\d+) <A HREF="(.+?)">(.+?)</A>',4)
Global $link[UBound($search)][2]
For $i=0 To UBound($search)-1
$match = $search[$i]
$link[$i][0] = $match[6]
$link[$i][1] = $match[5]
$date = StringFormat("%4d.%02d.%02d", $match[3], MonthToNum($match[1]), $match[2])
GUICtrlCreateListViewItem($match[6]&'|'&Round($match[4]/1024/1024,2)&' MB|'&$date, $list)
Next
_GUICtrlListView_SetColumnWidth($list, 0, $LVSCW_AUTOSIZE)
_GUICtrlListView_RegisterSortCallBack($list)
While 1
Switch GUIGetMsg()
Case -3
ExitLoop
Case $list
_GUICtrlListView_SortItems($list, GUICtrlGetState($list))
Case $download
$selected = _GUICtrlListView_GetSelectedIndices($list,1)
$text = _GUICtrlListView_GetItemText($list, $selected[1])
MsgBox(0,"Info","Download: http://ftp.blizzard.com"&FileToLink($text))
EndSwitch
WEnd
_GUICtrlListView_UnRegisterSortCallBack($list)
Func FileToLink($file)
For $i=0 To UBound($link)-1
If $link[$i][0] = $file Then Return $link[$i][1]
Next
EndFunc
Func MonthToNum($month)
Local $_month[12] = ['January','February','March','April','May','June','July','August','September','October','November','December']
For $i=0 To 11
If $_month[$i] = $month Then Return $i+1
Next
EndFunc
da gibts nichts was man updaten müsste...
das tool sucht sich immer vollkommen selbständig alle relevanten daten, listet sie auf, und bietet patches zum download an.