Benötige Hilfe bei Sperr/Updatefunktion

  • du kannst mit

    [autoit]

    InetGet()

    [/autoit]


    ne datei von deinem server herrunterladen
    und mit

    [autoit]

    FileRead()

    [/autoit]


    kannste die datei dann auslesen ( vergiss FileOpen nicht)
    du kannst es auch mit Iniread machen dan brauchste aba n bestimmten aufbau des files
    jetz musste in die datei eigentlich nur den status schreiben
    und dan dein script darauf reagieren lassen
    also zb:

    [autoit]

    InetGet("http://(deinservername).(de,at,com..)/file1.inf", @ScriptDir &"/file1.inf")
    $file = FileOpen(@ScriptDir &"/file1.inf")
    If FileRead($file) = "sperren" Then
    MsgBox(48, "Error", "Das Script wurde gesperrt")
    Exit
    Endif
    FileClose($file)

    [/autoit]


    zum Updaten kannste auch Inetget verwenden

  • ich hab mal was gefunden^^

    [autoit]

    Dim $ver = "1.3.9"
    InetGet("http://test/update.txt",@TempDir & "\update.txt", 1, 0)
    $file = FileOpen(@TempDir & "\update.txt", 0)
    $line = FileReadLine($file, 1)
    $line2= FileReadLine($file, 2)
    If $line = $ver Then
    MsgBox(64, "Kein Update", "Du hast die neuste Version: (" & $ver & ")")
    FileClose($file)
    FileDelete(@TempDir & "\update.txt")
    Else
    MsgBox(64, "Update!", "Es ist eine Neue Version verfügbar!")
    $fg = MsgBox(4, "Updaten?", "Möchtest du jetzt Updaten?")
    If $fg = 6 Then
    InetGet("http://test/files/" & $line2, $line2, 1, 0) ; ANPASSEN
    FileClose($file)
    FileDelete(@TempDir & "\update.txt")
    Exit 0
    EndIf
    EndIf

    [/autoit]

    komm damit aber nich klar xD
    wie muss ich das in script ergänzen wenn ich ein "Update" button hab und drauf klicke das er dann auf die seite geht wo mein script ist es updatet und automatisch mein altes löscht?


    mfg volle

    Mit freundlichen Grüßen

    volle

  • einfach beim click drauf die funk ausführen

    also im on event mod

    [autoit]

    Guisetonevent($Updatebutton, "Update")

    [/autoit]


    oda ohne

    [autoit]

    Select
    Case Guigetmsg() = $Updatebutton
    Update()
    ;...
    Endselect

    [/autoit]


    n externes script wär vll auch nich schlecht

  • Das ist meine Lieblings Update Funktion :)

    Damit komme ich super klar und finde ich verständlich.

    Spoiler anzeigen
    [autoit]

    #include <string.au3>
    #include <Array.au3>
    #include <INet.au3>
    Const $vScriptFile = "http://autoit.the-franky.de/version.txt"
    Const $vUpdateServer = "autoit.the-franky.de"
    Const $vChangelogFile = "http://autoit.the-franky.de/changelog_de.txt"
    $vVersion = "3.02" ; ÄNDER MICH UND STAUNE WAS PASSIERT :D
    _SM_ClickUpdateCheck()
    Func _SM_ClickUpdateCheck()
    _SM_UpdateCheck($vVersion)
    If @error = 1 Then
    MsgBox(48, "Connection timeout", "Sie sind nicht mit dem word wide web verbunden, oder der Server ist Down.")
    ElseIf @error = 2 Then
    MsgBox(48, "Fehler", "Es ist ein Fehler aufgetreten!")
    ElseIf @error = 3 Then
    MsgBox(64, "Keine Update's verfügbar", "Sie benutzen die aktuellste Version (v" & $vVersion & ").")
    Else
    EndIf
    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
    MsgBox(0,"","Es ist eine neue Version verfügbar (old: " & $vCurrentVersion & " | new: " & $vLatestVersion & ").")
    Return SetError(0, 0, $vLatestVersion)
    Else
    SetError(3)
    EndIf
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_UpdateCheck

    [/autoit] [autoit][/autoit] [autoit]

    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_

    [/autoit]
  • Hallo uttifrutti.

    Da stimme ich Dir zu.
    Und sie funktioniert sogar durch VPN-Sicherheitstunnel.
    Für die, die es nicht wissen, weil sie sich nie damit beschäftigen, das bedeutet, das man auch von Ort-A in Deutschland zu Ort-B in Dänemark Updates prüfen kann, um zum Beispiel zu schauen, ob man die aktuellen Formulare auf seinem PC hat. Admin(a) veröffentlicht eigentlich nur noch immer die ausfüllbaren PDF-Dateien (ich erstelle sie immer selber) auf dem Datenformularserver. Da dort keiner was zu suchen hat und nur eine Hand voll das Adminpasswort kennen bzw. sich damit aus kennen, reicht hier eine "codierte" Obfuscator-Ausgabe in eine Exe. Wenn man mich sogar schon anruft, weil man nicht mal weiß wie man einen SVERWEIS, dann meine ich sollte es reichen. Gut das diese Anrufe seit geraumer Zeit mein Babyvertretung nun annehmen muss. ;) Azubi's drückst Du ein Excel-Buch in die Hand, den anderen nennst Du eine URL. Nein, spass bei Seite, ich finde die Update Funktion genial. Wirklich super erklärt. Nur wo ist der Hinweis, wer die funktion erstellt hat? Fehlt die nicht irgendwo? Also dem Ersteller sei mein DANK ausgesprochen.

    So, muß mal schnell Gläschen warm machen gehen. Und dann kann ich mir auch gleich einen groooooßen Becher Grapefruitstaft mit Eiswürfel fertig machen.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Mal für die ganz Doofen :D:
    (Tuttifruttis Script)
    Ich hab ne Textdatei auf dem Server. Was muss die genau beinhalten? Nur ne Versionszahl oder wie?
    Und natürlich die Exe. Und wenn dann ein Update verfügbar ist, lädt es alles herunter?

    Ja sehr doof ich weiss :D

  • Das hab ich schon herausgefunden:
    Textdatei mit Nummer (3.6.458.295)
    Dann die .exe im selben Verzeichnis und die Funktion muss man selber hinzufügen.
    Natürlich werd ich den Changelog dann noch im Notepad anzeigen lassen

    Ich werd das Teil dann zur Verfügugn stellen. natürlich nur mit Erlaubnsi von Tuttifrutti ;)

  • Ich hab noch ne Frage:
    und zwar zu ProgressOn/Off/Set:
    Wenn ich Tuttifruttis Script umbauen möchte, damit er nicht einen Tooltip sondern den Progressbalken anzeigt:

    Updater
    [autoit]

    #include <string.au3>
    #include <Array.au3>
    #include <INet.au3>
    Const $vScriptFile = "http://rcdv.net/regocr/version.txt"
    Const $vUpdateServer = "rcdv.net"
    Const $vChangelogFile = ""
    $ini1=IniRead(@ScriptDir&"/data/conf.ini","version","aktuell","1.0")
    $vVersion = $ini1 ; ÄNDER MICH UND STAUNE WAS PASSIERT :D
    _SM_ClickUpdateCheck()
    Func _SM_ClickUpdateCheck()
    _SM_UpdateCheck($vVersion)
    If @error = 1 Then
    MsgBox(48, "Connection timeout", "Sie sind nicht mit dem word wide web verbunden, oder der Server ist Down.")
    ElseIf @error = 2 Then
    MsgBox(48, "Fehler", "Es ist ein Fehler aufgetreten!")
    ElseIf @error = 3 Then
    MsgBox(64, "Keine Update's verfügbar", "Sie benutzen die aktuellste Version (v" & $vVersion & ").")
    Else
    EndIf
    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
    $msg1=MsgBox(4,"","Es ist eine neue Version verfügbar (Alte Version: " & $vCurrentVersion & " | Neue Version: " & $vLatestVersion & ")."&@CRLF&"Möchten Sie das Update jetzt herunterladen?"&@CRLF&"Stellen Sie sicher, dass eine Verbindung mit dem Internet besteht")
    If $msg1=6 Then $hDownload = InetGet("http://www.rcdv.net/regocr/ocr2.exe", @TempDir & "\ocr.exe", 1, 1)
    Do
    $aData = InetGetInfo($hDownload)
    ProgressOn("Aktualisierung","Bitte warten")
    ProgressSet (Round((($aData[0] * 90) / $aData[1]), 0) & " %")
    ;ProgressOff()
    Until $aData[2] ; Überprüfen ob der der Download abgeschlossen ist.

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(2000) ; um zu sehen das er bei 90 % aufhört, ab hier dann die Datei ersetzen

    [/autoit] [autoit][/autoit] [autoit]

    ;FileDelete(@TempDir & "\ocr2.exe")

    [/autoit] [autoit][/autoit] [autoit]

    If @error=13 Then MsgBox(48+0,"Fehler","Das Update konnte nicht geladen werden. Überprüfen Sie die Internetverbindung. Besteht das Problem weiterhin, wenden Sie sich an den Support")
    Return SetError(0, 0, $vLatestVersion)
    Else
    SetError(3)
    EndIf
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_UpdateCheck

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    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_

    [/autoit]


    Wieso das Ding flackert kaper ich nicht ^^

  • So sollte es funktionieren :)
    Edit: bitte jetzt mal gucken ;)

    Jetzt sogar mit Download ! , er entpackt dann die Read_me!.txt datei aus dem rar-archiv der auf dem server ist :)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <INet.au3>
    Const $vUpdateServer = "the-franky.de"
    Const $vScriptFile = "http://www.the-franky.de/version.txt"
    Const $vChangelogFile = "http://www.the-franky.de/changelog_en.txt"
    Const $vUnrarDLL = "http://www.the-franky.de/unrar.dll"
    Const $vMapFiles = "http://www.the-franky.de/TheFranky.rar"

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{END}", "_exit")
    $INI = @ScriptDir & "\Data.ini"

    [/autoit] [autoit][/autoit] [autoit]

    $vVersion = "3.15b"
    $vGUIColor = 0x161616
    $vGUIColor2 = 0x161616
    Dim $hGUIListChangelog

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If Not FileExists(@ScriptDir & "\Data\") Then
    DirCreate(@ScriptDir & "\Data\")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If Not FileExists($INI) Then
    IniWrite($INI, "Default", "Titel", "(C) The-Franky 2009 - 2010")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    #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("Tralala v" & $vVersion, $vGUIStandartWidth - 6, $vGUIStandartHeight)
    $hGUIUpdate = GUICreate("Tralala - Update", 500, 305, -1, -1, -1, 0x00000080, $hGUI)
    GUISetBkColor($vGUIColor, $hGUIUpdate)

    [/autoit] [autoit][/autoit] [autoit]

    $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)

    [/autoit] [autoit][/autoit] [autoit]

    $hGUIButtonDownload = GUICtrlCreateButton("Download", 10, 275, 235, 20)
    $hGUIButtonCancelUpdate = GUICtrlCreateButton("Cancel", 255, 275, 235, 20)
    GUISetState(@SW_HIDE)
    #endregion UpdateGUI
    MainGui()
    Func MainGui()
    Opt("GUIOnEventMode", 0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $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)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $maingui)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg($maingui)
    Case -3
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $check
    _SM_ClickUpdateCheck()

    [/autoit] [autoit][/autoit] [autoit]

    Case $hGUIButtonDownload
    _SM_ClickButtonDownload()
    Case $hGUIButtonCancelUpdate, $hGUIUpdate
    _SM_ClickButtonCancelUpdate()

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    Sleep(10)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    GUIDelete($maingui)
    Sleep(100)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>MainGui

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    Sleep(10)
    Exit
    EndFunc ;==>_exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/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

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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_

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _SM_ClickButtonDownload()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    GUICtrlSetData($hGUIListChangelog, "")
    ;~ ShellExecute("http://" & $vUpdateServer)
    _SM_MapFilesInstall()
    EndFunc ;==>_SM_ClickButtonDownload

    [/autoit] [autoit][/autoit] [autoit]

    Func _SM_ClickButtonCancelUpdate()
    GUISetState(@SW_HIDE, $hGUIUpdate)
    ;GUISetState(@SW_SHOW, $maingui)
    GUICtrlSetData($hGUIListChangelog, "")
    EndFunc ;==>_SM_ClickButtonCancelUpdate

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _SM_MapFilesInstall()
    $v_MapFiles = @TempDir & "\mapfiles.rar"

    [/autoit] [autoit][/autoit] [autoit]

    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)

    [/autoit] [autoit][/autoit] [autoit]

    ProgressSet(0, "", "Loading 'mapfiles.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)

    [/autoit] [autoit][/autoit] [autoit]

    ProgressSet(100, @LF & "This may take some seconds.", "Installing mapfiles...")
    $bExtractionSuc = _SM_RARExtract(@TempDir & "\unrar.dll", $v_MapFiles)

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(2000)

    [/autoit] [autoit][/autoit] [autoit]

    FileDelete(@TempDir & "\unrar.dll")
    FileDelete($v_MapFiles)

    [/autoit] [autoit][/autoit] [autoit]

    If $bExtractionSuc = 1 Then
    ProgressSet(100, @LF & "Installation done. Have fun!", "Installing mapfiles...")
    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 SBot Manager was started in" & @CRLF & "32 bit mode. Continuing in " & $i & " seconds", "Installing mapfiles...")
    Sleep(1000)
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ProgressOff()
    EndFunc ;==>_SM_MapFilesInstall

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Auto extraction of rar archives into the scriptdirectory
    Func _SM_RARExtract($v_UnrarDLL, $v_RarFile) ;$v_UnrarDLL = path to unrar.dll file, $v_RarFile = path to rar file
    Local $sResult

    [/autoit] [autoit][/autoit] [autoit]

    $rar_ArchivName = DllStructCreate("char[260]")
    DllStructSetData($rar_ArchivName, 1, $v_RarFile)

    [/autoit] [autoit][/autoit] [autoit]

    $rar_CmtBuf = DllStructCreate("char[16384]")
    For $iCount = 1 To 16384
    $sResult &= " "
    Next
    DllStructSetData($rar_CmtBuf, 1, $sResult)

    [/autoit] [autoit][/autoit] [autoit]

    $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]")

    [/autoit] [autoit][/autoit] [autoit]

    $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))

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($v_UnrarDLL) Then
    $DLLUnrar = DllOpen($v_UnrarDLL)
    $rar_OpenedArchive = DllCall($DLLUnrar, "int", "RAROpenArchive", "ptr", DllStructGetPtr($rar_Str))

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    DllCall($DLLUnrar, "int", "RARCloseArchive", "int", $rar_OpenedArchive[0])
    DllClose($DLLUnrar)
    Return 1
    EndIf
    EndIf
    Return 0
    EndFunc ;==>_SM_RARExtract

    [/autoit]
  • Script1 was gesperrt werden soll
    [autoit]

    MsgBox(0,"Hallo Welt", "Hallo Welt , wie geht es dir?")

    [/autoit]
    Sperrtool womit ich Script 1 sperren will
    [autoit]

    ;Das hier ist so zu sagen dann das Tool , wenn ich auf Script sperren klicke soll
    ;sich im Script eine MsgBox öffnen mit dem Inhalt "Das Script wurde gesperrt".
    ;Nun weiß ich nicht wie es genau geht^^
    ;mit dem sperren darum frag ich ja ;)
    ;es soll aus einer *.TxT die zahlen auslesen 1= Sperre
    ;0= entsperrt
    ;alle datein sind auf einem server auser halt das sperrtool^^
    ;bei dem Problem jetzt hier bekomme ich immer ein Error

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $i = Random(0,1,1)

    [/autoit] [autoit][/autoit] [autoit]

    $Form = GUICreate("Sperrtool", 178, 122, 193, 125)
    $sperre1 = GUICtrlCreateButton("Script sperren", 16, 16, 145, 41, 0)
    $sperre2 = GUICtrlCreateButton("Script entsperren", 16, 56, 145, 41, 0)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $sperre1

    If $i = 0 Then _Sperre
    InetRead("URL") ;Da kommt dann halt die Adresse vom FTP Server hin...
    Case $sperre2
    If $i = 1 Then _weiter
    InetRead("URL")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    mfg volle :whistling:

    Mit freundlichen Grüßen

    volle

    Einmal editiert, zuletzt von volle (1. Juli 2010 um 16:04)

  • Du könntest es mit einem GUI lösen und auf dem ist ein Label versteckt mit dem Text "Dieses Script wurde gesperrt" und wenn du den Button im Sperrscript drückst, dass es im anderen GUI den Status abfragt und das Label sichtbar macht

    MfG