Hallo Forum , ich wollte mir eine Update Funktion bauen für mein richtiges Programm, ich bin nun fast fertig.
Da habe ich aber noch ein paar Fragen ...
1.Die MsgBox schaut komisch aus, wenn die Version gleich ist.
2.Könnte man wenn auf auf "download" klickt und sich die Homepage öffnet und die bestimmte Apfel3.15b.exe runterläd, dass sich vom Programm aus selber ein Processfenster öffnet, wo der fortschritt von dieser bestimmten datei angezeigt wird.
Hier ist der aktuelle Code.
Update1:
Um den wert zu ändern einfach das ändern:
[autoit]$vVersion = "3.15b"
[/autoit]
Das könnte ich natürlich auch online ändern
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <INet.au3>
HotKeySet("{END}", "_exit")
$INI = @ScriptDir & "\Data.ini"
Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
$_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
$_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"
Const $vUpdateServer = "sch0k0neger.de"
Const $vScriptFile = "http://www.sch0k0neger.de/version.txt"
Const $vChangelogFile = "http://www.sch0k0neger.de/changelog_en.txt"
Const $vUnrarDLL = "http://www.sch0k0neger.de/unrar.dll"
Const $vMapFiles = "http://www.sch0k0neger.de/TheFranky.rar"
Const $vMapFilesArray[1][2] = [ _ ;Contains information about the mapfiles ( $Array[x][0] = Filename, $Array[x][1] = Filesize)
["Read_Me_!.txt", 69]];, _
;["exit.ico", 94208], _
;["Settings.ico", 432260], _
;["Rubik-Pocket-Cube.ico", 372532]]
$vVersion = "3.15b"
$vGUIColor = 0x161616
$vGUIColor2 = 0x161616
Dim $hGUIListChangelog
If IniRead(@ScriptDir & "\Data.ini", "Settings", "Check", 1) = 1 And _SM_Check4MapFiles() = 1 Then
$hGUI = GUICreate("Files", 300, 210)
GUICtrlCreateLabel("Some Files might be missing or damaged. The minimap and big map in SApfel Manager will only work if the latest Files are installed. Therefore create a folder 'Files' and put the mappics into it." & @CRLF & "You can either download the mapfiles by yourself (visit http://sch0k0neger.de) or SApfel Manager will install the Files for you. If you click on Yes, SApfel Manager will download and install the Files." & @CRLF & @CRLF & "Auto install the Files?", 10, 10, 280, 140)
$hCheckBoxMsg = GUICtrlCreateCheckbox("Never show this message again! (Not recommended)", 10, 150)
$hButtonYes = GUICtrlCreateButton("Yes", 30, 175, 90)
$hButtonNo = GUICtrlCreateButton("No", 180, 175, 90)
WinSetOnTop($hGUI, "", 1)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $hButtonNo
If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
GUIDelete()
ExitLoop
Case $hButtonYes
If GUICtrlRead($hCheckBoxMsg) = 1 Then IniWrite(@ScriptDir & "\Data.ini", "Settings", "Check", 0)
GUISetState(@SW_HIDE, $hGUI)
_SM_MapFilesInstall()
GUIDelete($hGUI)
ExitLoop
EndSwitch
WEnd
EndIf
Opt("GUIResizeMode", 802)
Opt("WinTitleMatchMode", 2)
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
$runwindoof = IniRead($INI, "Windows", "Run", "")
[/autoit] [autoit][/autoit] [autoit]$ontop = IniRead($INI, "Window", "OnTop", "")
[/autoit] [autoit][/autoit] [autoit]If Not FileExists(@ScriptDir & "\Data\") Then
DirCreate(@ScriptDir & "\Data\")
EndIf
If Not FileExists($INI) Then
IniWrite($INI, "Default", "Titel", "(C) The-Franky 2009 - 2010")
EndIf
If @Compiled = 0 Then
TraySetIcon("Rubik-Pocket-Cube.ico")
EndIf
TraySetToolTip($vVersion)
[/autoit] [autoit][/autoit] [autoit]$BOLTEST = False
$FORM1 = GUICreate("" & $vVersion & " - by Franky", 195, 15, -1, -1, $WS_POPUP, 0)
GUISetBkColor(16777215)
$Progress1 = GUICtrlCreateProgress(-1, -1, 198, 17)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
For $i = 0 To 100 Step 5
Sleep(60)
GUICtrlSetData($Progress1, $i)
Next
ProgressOff()
GUISetState(@SW_HIDE)
;=======================================================================================================
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$FORM2 = GUICreate("(C) " & $vVersion & "", 300, 125, -1, -1, $WS_POPUP + $WS_SIZEBOX + $WS_EX_TOOLWINDOW + $WS_EX_TOPMOST + $WS_EX_WINDOWEDGE + $WS_EX_TOPMOST + $WS_VISIBLE + $WS_CLIPSIBLINGS)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];====================================================
[/autoit] [autoit][/autoit] [autoit]$Info = GUICtrlCreateButton("F.A.Q", 260, 75, 35, 30, $BS_ICON)
GUICtrlSetImage(-1, @ScriptDir & "\Settings.ico", 1)
;====================================================;====================================================
[/autoit] [autoit][/autoit] [autoit]GUISetFont(8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
$hInput_Benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
$hInput_Passwort = GUICtrlCreateInput("", 112, 36, 137, 21)
$hButton_Login = GUICtrlCreateButton("Login", 112, 72, 137, 33, $BS_DEFPUSHBUTTON)
$hButton_Registrieren = GUICtrlCreateButton("Registrieren", 24, 72, 89, 33, 0)
$Exit = GUICtrlCreateButton("Exit", 270, 0, 35, 30, $BS_ICON)
GUICtrlSetImage(-1, @ScriptDir & "\exit.ico", 1)
;====================================================
GUISetState(@SW_SHOW)
#region UpdateGUI
;UpdateGUI
$vGUIStandartHeight = 290
$vGUILargeHeight = $vGUIStandartHeight + 327
$vGUIStandartWidth = 778
$vGUIColor = 0x161616 ;Label of BigMap needs to be changed manually (GUIFuncs.au3, Function: _SM_WritePicLabel + _SM_WorldMapExtras), also Background of Minimap (GUIFuncs.au3, Function: _SM_UnsetMiniMap)
$hGUI = GUICreate("SApfel Manager v" & $vVersion, $vGUIStandartWidth - 6, $vGUIStandartHeight)
$hGUIUpdate = GUICreate("SApfel Manager - Update", 500, 305, -1, -1, -1, 0x00000080, $hGUI)
GUISetBkColor($vGUIColor, $hGUIUpdate)
$hGUILabelNewVersion = GUICtrlCreateLabel("", 10, 10, 480, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
$hGUIListChangelog = GUICtrlCreateList("", 10, 30, 480, 240, BitOR(0x4000, 0x0100, 0x00200000))
GUICtrlSetBkColor(-1, $vGUIColor)
GUICtrlSetColor(-1, 0xFFFFFF)
$hGUIButtonDownload = GUICtrlCreateButton("Go to downloadpage", 10, 275, 235, 20)
$hGUIButtonCancelUpdate = GUICtrlCreateButton("Cancel", 255, 275, 235, 20)
GUISetState(@SW_HIDE)
#endregion UpdateGUI
While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$MSG = GUIGetMsg(1)
Switch $MSG[1]
Case $FORM1
If $BOLTEST = False Then
For $i = 0 To 100 Step +1
Sleep(5)
GUICtrlSetData($Progress1, $i)
Next
GUISetState(@SW_HIDE, $FORM1)
GUISetState(@SW_SHOW, $FORM2)
$BOLTEST = True
EndIf
Case $FORM2
Switch $MSG[0]
[/autoit] [autoit][/autoit] [autoit]Case $GUI_EVENT_CLOSE, $Exit
Exit
Case $Info
MsgBox(0, "", "Info ~ F.A.Q --- [The-Franky] (c) 2009 - 2010")
Case $hButton_Registrieren
Settings()
Case $hButton_Login
$sBenutzername = GUICtrlRead($hInput_Benutzername)
$sPasswort = GUICtrlRead($hInput_Passwort)
If $sBenutzername <> "" And $sPasswort <> "" Then
Switch _Login($sBenutzername, _MD5($sPasswort))
Case 0
MsgBox(16, "Error", "Benutzername ist nicht registriert!")
Case 1
MsgBox(32, "Info", "Erfolgreich eingeloggt!")
GUIDelete($FORM2)
Sleep(100)
MainGui()
Case 2
MsgBox(16, "Error", "Passwort ist falsch!")
EndSwitch
Else
MsgBox(48, "Info", "Bitte einen Bentzernamen/Passwort angeben!")
EndIf
Case $hButton_Registrieren
$sBenutzername = GUICtrlRead($hInput_Benutzername)
$sPasswort = GUICtrlRead($hInput_Passwort)
If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername, $sPasswort)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndSwitch
EndSwitch
WEnd
Func Settings()
$reg_status = _Status_Registration()
If $reg_status = 1 Then
Opt("GUIOnEventMode", 0)
GUISetState(@SW_DISABLE, $FORM2)
GUISetState(@SW_HIDE, $FORM2)
$checkanmeldung = "Erlaubt"
$settinggui = GUICreate("Registrieren", 260, 175, -1, -1)
GUICtrlCreateLabel("Benutzername", 25, 14, 84, 17)
GUICtrlCreateLabel("Passwort", 53, 38, 55, 17)
$settinggui_benutzername = GUICtrlCreateInput("", 112, 12, 137, 21)
$settinggui_password = GUICtrlCreateInput("", 112, 36, 137, 21)
$cancel = GUICtrlCreateButton("Exit", 10, 88, 240, 20)
$bestatigen = GUICtrlCreateButton("Registrieren", 10, 64, 240, 20)
$groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
$Label1 = GUICtrlCreateLabel("" & "", 24, 128, 205, 19)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW, $settinggui)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg($settinggui)
Case -3
ExitLoop
Case $cancel
ExitLoop
Case $bestatigen
$sBenutzername = GUICtrlRead($settinggui_benutzername)
$sPasswort = GUICtrlRead($settinggui_password)
If $sBenutzername <> "" And $sPasswort <> "" Then _Registration($sBenutzername, $sPasswort)
[/autoit] [autoit][/autoit] [autoit]ExitLoop
;Exit
EndSwitch
Sleep(10)
WEnd
GUIDelete($settinggui)
Sleep(100)
GUISetState(@SW_ENABLE, $FORM2)
GUISetState(@SW_SHOW, $FORM2)
GUISetState(@SW_ENABLE, $FORM1)
EndIf
EndFunc ;==>Settings
Func MainGui()
Opt("GUIOnEventMode", 0)
GUISetState(@SW_DISABLE, $FORM2)
GUISetState(@SW_HIDE, $FORM2)
$maingui = GUICreate("Main Gui", 260, 175, -1, -1)
$hGUILabelUpdateAndSApfelInfo = GUICtrlCreateLabel("", 25, 14, 84, 17)
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetState(-1, 32)
GUICtrlCreateLabel("Test2", 53, 38, 55, 17)
$check = GUICtrlCreateButton("Check", 10, 88, 240, 20)
$groupgeneral2 = GUICtrlCreateGroup("Info", 10, 113, 240, 42)
$Label1 = GUICtrlCreateLabel("Made by" & "Franky", 24, 128, 205, 19)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW, $maingui)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg($maingui)
Case -3
Exit
Case $check
_SM_ClickUpdateCheck()
Case $hGUIButtonDownload
_SM_ClickButtonDownload()
Case $hGUIButtonCancelUpdate, $hGUIUpdate
_SM_ClickButtonCancelUpdate()
EndSwitch
Sleep(10)
WEnd
GUIDelete($maingui)
Sleep(100)
EndFunc ;==>MainGui
[/autoit] [autoit][/autoit] [autoit]Func _exit()
Sleep(10)
Exit
EndFunc ;==>_exit
; ============================= SONSTIGES ==============================
[/autoit] [autoit][/autoit] [autoit]Func _SM_ClickUpdateCheck()
;GUICtrlSetData($hGUILabelUpdateAndSApfelInfo, "Receiving latest SApfel Manager-Version from http://" & $vUpdateServer)
;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 16)
_SM_UpdateCheck($vVersion)
If @error = 1 Then
MsgBox(48, "Connection timeout", "You either do not have a connection to the world wide web or the server is currently down.")
ElseIf @error = 2 Then
MsgBox(48, "Error", "Error getting the version!")
ElseIf @error = 3 Then
MsgBox(64, "No update available", "You are using the latest version (v" & $vVersion & ").")
Else
GUISetState(@SW_HIDE, $FORM1)
GUISetState(@SW_SHOW, $hGUIUpdate) ;5
EndIf
;GUICtrlSetState($hGUILabelUpdateAndSApfelInfo, 32)
EndFunc ;==>_SM_ClickUpdateCheck
Func _SM_UpdateCheck($vCurrentVersion)
If Ping($vUpdateServer) = 0 Then
SetError(1)
Else
$vLatestVersion = _INetGetSource_($vScriptFile)
If @error Then
SetError(2)
Else
If $vCurrentVersion <> $vLatestVersion Then
GUICtrlSetData($hGUILabelNewVersion, "There is a new version available (old: " & $vCurrentVersion & " | new: " & $vLatestVersion & ").")
$vChangelog = StringSplit(_INetGetSource_($vChangelogFile), @CRLF)
For $i = 1 To $vChangelog[0]
GUICtrlSendMsg($hGUIListChangelog, 0x0180, 0, $vChangelog[$i])
Next
Return SetError(0, 0, $vLatestVersion)
Else
SetError(3)
EndIf
EndIf
EndIf
Return 0
EndFunc ;==>_SM_UpdateCheck
Func _INetGetSource_($s_URL, $bString = True)
Local $sString = InetRead($s_URL, 1)
Local $nError = @error, $nExtended = @extended
If $bString Then $sString = BinaryToString($sString)
Return SetError($nError, $nExtended, $sString)
EndFunc ;==>_INetGetSource_
Func _SM_ClickButtonDownload()
GUISetState(@SW_HIDE, $hGUIUpdate)
GUICtrlSetData($hGUIListChangelog, "")
ShellExecute("http://" & $vUpdateServer)
EndFunc ;==>_SM_ClickButtonDownload
Func _SM_ClickButtonCancelUpdate()
GUISetState(@SW_HIDE, $hGUIUpdate)
;GUISetState(@SW_SHOW, $maingui)
GUICtrlSetData($hGUIListChangelog, "")
EndFunc ;==>_SM_ClickButtonCancelUpdate
Func _SM_MapFilesInstall()
$v_MapFiles = @TempDir & "\Files.rar"
ProgressOn("Downloading...", "Loading 'unrar.dll'", "")
[/autoit] [autoit][/autoit] [autoit]$v_SizeUnrarDLL = Round(InetGetSize($vUnrarDLL) / 1024)
$hDownload = InetGet($vUnrarDLL, @TempDir & "\unrar.dll", 1, 1)
Do
$v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
$v_DLPercent = Round($v_DLBytes / $v_SizeUnrarDLL * 100)
ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeUnrarDLL & "KB " & $v_DLPercent & "%")
Sleep(100)
Until InetGetInfo($hDownload, 2)
ProgressSet(0, "", "Loading 'Files.rar'")
[/autoit] [autoit][/autoit] [autoit]$v_SizeMapFilesRar = Round(InetGetSize($vMapFiles) / 1024)
Local $hDownload = InetGet($vMapFiles, $v_MapFiles, 1, 1)
Do
$v_DLBytes = Round(InetGetInfo($hDownload, 0) / 1024)
$v_DLPercent = Round($v_DLBytes / $v_SizeMapFilesRar * 100)
ProgressSet($v_DLPercent, @LF & $v_DLBytes & "/" & $v_SizeMapFilesRar & "KB " & $v_DLPercent & "%")
Sleep(200)
Until InetGetInfo($hDownload, 2)
ProgressSet(100, @LF & "This may take some seconds.", "Installing Files...")
$bExtractionSuc = _SM_RARExtract(@TempDir & "\unrar.dll", $v_MapFiles)
Sleep(2000)
[/autoit] [autoit][/autoit] [autoit]FileDelete(@TempDir & "\unrar.dll")
FileDelete($v_MapFiles)
If $bExtractionSuc = 1 Then
ProgressSet(100, @LF & "Installation done. Have fun!", "Installing Files...")
Sleep(3000)
Else
For $i = 15 To 1 Step -1
ProgressSet(100, "Error occured. Please make sure that you are connected" & @CRLF & "to the www and that SApfel Manager was started in" & @CRLF & "32 bit mode. Continuing in " & $i & " seconds", "Installing Files...")
Sleep(1000)
Next
EndIf
ProgressOff()
EndFunc ;==>_SM_MapFilesInstall
Func _SM_RARExtract($v_UnrarDLL, $v_RarFile) ;$v_UnrarDLL = path to unrar.dll file, $v_RarFile = path to rar file
Local $sResult
$rar_ArchivName = DllStructCreate("char[260]")
DllStructSetData($rar_ArchivName, 1, $v_RarFile)
$rar_CmtBuf = DllStructCreate("char[16384]")
For $iCount = 1 To 16384
$sResult &= " "
Next
DllStructSetData($rar_CmtBuf, 1, $sResult)
$rar_Str = DllStructCreate("ptr;uint;uint;ptr;uint;uint;uint")
[/autoit] [autoit][/autoit] [autoit]DllStructSetData($rar_Str, 1, DllStructGetPtr($rar_ArchivName))
DllStructSetData($rar_Str, 2, 1) ;1 = $RAR_OM_EXTRACT
DllStructSetData($rar_Str, 3, 0)
DllStructSetData($rar_Str, 4, DllStructGetPtr($rar_CmtBuf))
DllStructSetData($rar_Str, 5, 16384)
DllStructSetData($rar_Str, 6, 0)
DllStructSetData($rar_Str, 7, 0)
$rar_Header_CmtBuf = DllStructCreate("char[16384]")
$rar_Header_Str = DllStructCreate("char[260];char[260];uint;uint;uint;uint;uint;uint;uint;uint;uint;ptr;uint;uint;uint")
DllStructSetData($rar_Header_Str, 12, DllStructGetPtr($rar_Header_CmtBuf))
If FileExists($v_UnrarDLL) Then
$DLLUnrar = DllOpen($v_UnrarDLL)
$rar_OpenedArchive = DllCall($DLLUnrar, "int", "RAROpenArchive", "ptr", DllStructGetPtr($rar_Str))
If IsArray($rar_OpenedArchive) Then
$iCount = 0
Do
$rar_Header = DllCall($DLLUnrar, "int", "RARReadHeader", "ptr", $rar_OpenedArchive[0], "ptr", DllStructGetPtr($rar_Header_Str))
DllCall($DLLUnrar, "int", "RARProcessFile", "ptr", $rar_OpenedArchive[0], "int_ptr", 2, "ptr", "", "ptr", "") ;2 = $RAR_EXTRACT
$iCount += 1
Until $rar_Header[0] <> 0 Or $iCount = 20
DllCall($DLLUnrar, "int", "RARCloseArchive", "int", $rar_OpenedArchive[0])
DllClose($DLLUnrar)
Return 1
EndIf
EndIf
Return 0
EndFunc ;==>_SM_RARExtract
Func _SM_Check4MapFiles()
For $z = 0 To UBound($vMapFilesArray) - 1
$v_File = @ScriptDir & "\TheFranky\" & $vMapFilesArray[$z][0]
If Not FileExists($v_File) Or FileGetSize($v_File) <> $vMapFilesArray[$z][1] Then _
Return 1
Next
Return 0
EndFunc ;==>_SM_Check4MapFiles
; =============================== MYSQL ================================
[/autoit] [autoit][/autoit] [autoit]Func _Login($sBenutzername = "", $sPasswort = "")
$iRValue = _INetGetSource("http://www.sch0k0neger.de/login.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)
Switch $iRValue
Case 0
Return 0
Case 1
Return 1
Case 2
Return 2
EndSwitch
EndFunc ;==>_Login
Func _Registration($sBenutzername = "", $sPasswort = "")
$iRValue = _INetGetSource("http://www.sch0k0neger.de/registrierung.php?benutzername=" & $sBenutzername & "&passwort=" & $sPasswort)
Switch $iRValue
Case 0
MsgBox(16, "Error", "Registration fehlgeschlagen!")
Case 1
MsgBox(32, "Info", "Erfolgreich registriert!")
Case 2
MsgBox(16, "Error", "Der Benutzername ist bereits registriert!")
Case 3
MsgBox(16, "Error", "Benutzername/Passwort ist falsch!")
EndSwitch
EndFunc ;==>_Registration
Func _MD5($Data)
Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
DllStructSetData($CodeBuffer, 1, $_MD5Opcode)
Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
DllStructSetData($Input, 1, $Data)
Local $Digest = DllStructCreate("byte[16]")
[/autoit] [autoit][/autoit] [autoit]DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
"ptr", DllStructGetPtr($Input), _
"int", BinaryLen($Data), _
"ptr", DllStructGetPtr($Digest), _
"int", 0)
Local $Ret = DllStructGetData($Digest, 1)
$Input = 0
$Digest = 0
$CodeBuffer = 0
Return StringLower(StringTrimLeft($Ret, 2))
EndFunc ;==>_MD5
Func _Status_Registration()
$iRValue = _INetGetSource("http://www.sch0k0neger.de/abfragen.php")
Switch $iRValue
Case 0 ; - Registrierung nicht erlaubt
MsgBox(16, "Error", "Registrierung nicht erlaubt")
Return 0
;GUICtrlSetState($hInput_Passwort,$GUI_DISABLE)
;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
;GUICtrlSetState($settinggui_benutzername,$GUI_DISABLE)
;GUICtrlSetState($settinggui_password,$GUI_DISABLE)
;GUICtrlSetState($checkanmeldung,$noterlaubt)
Case 1 ; - Registrierung erlaubt
MsgBox(32, "Info", "Registrierung erlaubt!")
Return 1
;GUICtrlSetState($Label1,$checkanmeldung)
Case -1 ; - Fehler in Datenbank!
Return -1
; MsgBox(16, "Error", "Fehler in Datenbank!")
EndSwitch
EndFunc ;==>_Status_Registration
MfG tuttifrutti