• [autoit]

    #include <Constants.au3>

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

    Local Const $sFile = @AutoItExe
    Local $hFile = FileOpen($sFile, 0)

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

    ; Prüft Dateiposition und versucht den Inhalt ab der aktuellen Dateiposition zu lesen.
    MsgBox(0, "FileGetPos", StringFormat("Position: %d\nDaten:\n%s", FileGetPos($hFile), FileRead($hFile)))

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

    ; Setzt nun die Position an 21354...
    Local $n = FileSetPos($hFile,21354,$FILE_BEGIN)

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

    for $i=0 to 5 ;...und liest 5x 1024 Byte ein
    ; Prüft Dateiposition und versucht 1 Kb ab der aktuellen Dateiposition zu lesen.
    MsgBox(0, "FileGetPos", StringFormat("Position: %d\nDaten:\n%s", FileGetPos($hFile), stringtobinary(FileRead($hFile,1024))))
    Local $n = FileSetPos($hFile,1024 ,$FILE_CURRENT) ;Dateiposition 1024 Byte weiter setzen
    Next

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

    ; Schließt das Handle.
    FileClose($hFile)

    [/autoit][autoit][/autoit][autoit][/autoit]
  • ok.... sehr Gut!!!!!


    ...

    Habs mir jetztz nen paar mal durchgelesen, werd nen Thread machen, wenn es soweit ist...:)

    Dank dir dafür aber erstmal! :rock::rock::rock:

  • Das war ein Schuss aus der Hüfte in 2 min zusammengehackt. Bei Dateien >2 Gig muss man 64Bit-Pointer verwenden, siehe http://msdn.microsoft.com/en-us/library/…2(v=VS.85).aspx
    auch die Infos in http://msdn.microsoft.com/en-us/library/…1(v=VS.85).aspx sollte man beachten.
    Man kann so natürlich auch die Dateien (Sektoren) bearbeiten, d.h. schreiben, obwohl im READ-Mode(0) geöffnet wurde.
    Für "Geheimniskrämer" besteht so die Möglichkeit, am "Dateisystem" vorbei Daten auf den Datenträger zu schreiben, die nirgendwo im Dateisystem auftauchen.
    Man schreibt dazu in einen Sektor (idR 512 Bytes gross) der nur zu einem kleinen Teil von einem Dateifragment belegt ist (z.B. von einer 5 Byte grossen DUMMY.TXT-Datei), seine Daten hinter den "eigentlichen" Dateiinhalt. Da Windows nur Daten in "freie" Sektoren schreibt, bleibt der "geheime" Inhalt so lange in diesem Sektor, bis dieser durch einen Dateisystembefehl (Move, Delete der DUMMY.TXT usw) überschrieben wird.

    • Offizieller Beitrag

    Hallo

    Lang lang ist's her, da hab ich auch mal sowas geschrieben ;) (Damals hatten wir noch das Problem, Binär daten zu übertragen)
    Ganz nett ist es noch die Dateigröße (oder CRC Checksumme) und ggf. das Datum mitzuschicken, damit der Server das übernehmen kann.
    Zu Geschwindigkeiten: Bei ICQ ist das sehr langsam, keine Ahnung wieso. Seit dem ich Trillian benutze lade ich aber mit 250 kbyte/s hoch, also der vollen Geschwindigkeit.
    In AutoIt erreiche ich exakt die gleichen Werte.

    Gruß
    Spider

  • Ließ mal den Thread, genau darum gehts in einem Großteil der Posts.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.