1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BiNu

Beiträge von BiNu

  • Suche Workaround RegExp Repeating Character Pattern Limit

    • BiNu
    • 30. Januar 2014 um 18:15
    Zitat von Oscar

    Dann teil doch bei jedem Komma

    [autoit]

    "\[.+?\]"

    [/autoit]


    und setze die einzelnen Teilstücke nach belieben wieder zusammen.

    Dann muss ich den String zuerst in hunderte Stücke teilen danach wieder aneinander reihen und bei jedem hinzugefügten Stück die Gesamtlänge mit der gewünschten Maximallänge vergleichen und wenn überschritten wider ein Stück weg nehmen. Und das so lange bis keine Stücke mehr da sind :wacko:

    Zitat von BugFix

    So richtig kann ich dir nicht folgen.
    Du hast einen String, tausende Zeichen lang mit Gruppen von"[irgendwas]" getrennt durch Kommata - richtig?
    Und was ist jetzt der Knackpunkt, was macht es unmöglich den Teil zwischen den Klammern abzufragen? Ich sehe da kein Hindernis.

    Richtig soweit. Der Knackpunkt ist dass ich möglichst viele dieser [irgendwas] aneinander haben will aber nicht mehr Zeichen als angeben als $iMaxLen

  • Suche Workaround RegExp Repeating Character Pattern Limit

    • BiNu
    • 30. Januar 2014 um 17:12

    Den String splitten mit der Möglichkeit die maximale Anzahl Zeichen für die Stücke anzugeben.
    Dabei darf der String nur an bestimmten Stellen geteilt werden damit die Stückchen nicht unbrauchbar werden.
    Es darf also nur bei , geteilt werden.
    Der echte spring ist tausende Zeichen lang deshalb der Beispiel String zum zeigen wie der zusammengesetzt ist.

    Es soll also genau dass machen was es tut nur eben mit mehr Zeichen.

  • Suche Workaround RegExp Repeating Character Pattern Limit

    • BiNu
    • 30. Januar 2014 um 16:54
    [autoit]

    #include <Array.au3>

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

    $sString = "[abc],[def],[ghijklm],[nopq],[r],[s],[tuvwx],[yz],[12345],[6789],[10]"
    $iMaxLen = 15

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

    $aStringRegExp = StringRegExp($sString, "\[.{1," & $iMaxLen - 2 & "}\],??", 3)

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

    _ArrayDisplay($aStringRegExp)

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

    $iMaxLen = 65537+1 ; hier is die grenze bzw. bei 65535

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

    $aStringRegExp = StringRegExp($sString, "\[.{1," & $iMaxLen - 2 & "}\],??", 3)

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

    _ArrayDisplay($aStringRegExp)

    [/autoit]

    Mein Idee war dem Pattern "." irgendwie zu ersetzten mit einem Pattern der auch für alle Zeichne steht aber gleich mehrere Zeichen erzwingt.

    Also "." durch ".{10}" ersetzen dann könnte ich $iMaxLen 10 x kleiner machen.
    aus
    "\[.{1," & $iMaxLen - 2 & "}\],??"
    wird
    "\[.{10}{1," & $iMaxLen - 2 & "}\],??"
    Leider funktioniert das verschachteln von Pattern so nicht.

  • Altiris, "Silent Installation"

    • BiNu
    • 30. Januar 2014 um 13:01

    Gibt extra Software für das Problem. Möglicherweise auch brauchbare nicht kommerzielle.
    Das Prinzip ist simpel. Kann du eventuell nach machen je nach dem wie komplex die Installation ist.

    Brauchst ne VM oder Sandbox.
    Snapshot machen
    Setup installieren
    nochmals Snapshot machen
    Unterscheide analysieren und Skrypt schrieben der dass gleiche macht wie die setup.exe nur ohne GUI

    Von Hand wird das mühsam wenn es hunderte von Daten im System verteil und Regeinträge macht etc.
    Bei einfachen Installationen macht die setup.exe etwa das gleiche wie ein .rar Archiv entpacken und Verknüpfungen anlegen.

    Auch möglich ist eventuell die setup.exe auseinander zu nehmen. Kann z.b. mit winrar erstellt worden sein, dann kannst du es damit öffnen und sehen was genau das Setup ausführt. Meist ein Kopiervorgang und ein paar Zeilen cmd oder ne .bat Datei in die man ja rein schauen kann.

  • Webinhalt der nur per AutoIt aufrufbar ist?

    • BiNu
    • 30. Januar 2014 um 08:49

    Schon [gelöst] aber hier noch eine Idee.

    Ich würd' den Inhalt der txt verschlüsseln.

    Das PW statt hardcoden durch eine Funktion generieren lassen welche Variablen als Input verwendet.
    Also einfach gesagt das PW verstecken.

    Simples Beispiel

    $PW = Hex(_Crypt_HashFile(@AutoItExe, $CALG_MD5)

    Das PW wäre also der MD5-Hash der kompilierten exe Datei d.h. nach dem kompilieren verschlüsselst du das txt File damit.
    Sucht einer im Code das PW kann es es nicht finden weil es nicht drin steht es wird zu Laufzeit berechnet.
    Findet jemand die Funktion und haut sie in ein Script bekommt er niemals das echte PW zurück somit sinnlos.
    Der Angreifer muss verstehen was die Funktion genau macht und dass nachmachen um das echte PW zu erhalten.
    Je komplizierter du die Funktion machst (können natürlich auch mehrere Funktionen sein) desto schwieriger wird dass für den Angreifer. Dazu sinnlose Namen verwenden oder besser irreführende Namen. Code der gar nix macht einfach um es komplizierter aussehen zu lassen . Verschachtelungen. Immer wahre/immer falsche Konstrukte etc.

    Auch interessant ist Code der nicht funktioniert der aber gar nicht ausgeführt wird im original Script.

    Beispiel:

    [autoit]


    #include <Crypt.au3>

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

    $PW = cryptPW(Hex(_Crypt_HashFile(@AutoItExe, $CALG_MD5)), "1337")

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

    Func cryptPW($PW, $SecretKey)
    If StringInStr($PW, BinaryToString(0x2E), 1) Then
    ;hier beliebigen Code rein der ein Fehler hervorruft z.b. komplizierte RegExp Pattern die kein Match erzeugen.
    ;Weil du weisst dass das PW bei korrektem Ablauf hier immer ein md5-Hash ist
    ;und somit nie ein "." (Punkt --> BinaryToString(0x2E)) enthält kann der Code gar nie ausgeführt werden.

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

    Return $PW
    Else
    ConsoleWrite("Debug: blabla" & @CR)
    SetError(3)
    Return $PW
    EndIf
    EndFunc ;==>cryptPW

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

    Exit

    [/autoit]

    Zum Schluss noch das PW kann während das Programm lauft aus dem RAM gelesen werden dagegen hilft alles nix.

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • BiNu
    • 25. Januar 2014 um 18:25

    Die exe lauft aber die au3 spukt nur haufenweise Errors aus.
    Steht oben im Script "AutoIt Version : 3.3.6.1" die hab ich ned liegt vielleicht daran (hab v3.3.8.1)


    Mit der exe wird der der Task-Manager unter Win8 nur als schwarzes Bild angezeigt. Das liegt wohl daran das der TM ein von Microsoft extra spezielles GUI bekommen hat -.- das lässt sich auch nicht verschieben oder Grösse ändern (mit AutoIt)

    Hier die Errors

    Spoiler anzeigen


    K:\AutoIt Windows Screenshooter\MPDF_UDF.au3(3637,16) : ERROR: syntax error (illegal character)
    Return $fTest ?
    ~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(86,52) : ERROR: _GDIPlus_Startup() called with wrong number of args.
    If Not _GDIPlus_Startup(@SystemDir & "\gdiplus.dll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\GDIPlus.au3(3013,24) : REF: definition of _GDIPlus_Startup().
    Func _GDIPlus_Startup()
    ~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,42) : WARNING: $SND_MEMORY: possibly used before declaration.
    Global Const $fuSound = BitOR($SND_MEMORY,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,54) : WARNING: $SND_ASYNC: possibly used before declaration.
    Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,70) : WARNING: $SND_NODEFAULT: possibly used before declaration.
    Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC, $SND_NODEFAULT,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,83) : WARNING: $SND_NOWAIT: possibly used before declaration.
    Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC, $SND_NODEFAULT, $SND_NOWAIT)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(661,42) : WARNING: $tagBITMAP: possibly used before declaration.
    Global $tDim = DllStructCreate($tagBITMAP)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(672,81) : WARNING: $GDIP_PIXELOFFSETMODE_HIGHQUALITY: possibly used before declaration.
    _GDIPlus_GraphicsSetPixelOffsetMode($hContext, $GDIP_PIXELOFFSETMODE_HIGHQUALITY)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(848,9) : ERROR: syntax error (illegal character)
    $bReset ?
    ~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,42) : ERROR: $SND_MEMORY: undeclared global variable.
    Global Const $fuSound = BitOR($SND_MEMORY,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,54) : ERROR: $SND_ASYNC: undeclared global variable.
    Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,70) : ERROR: $SND_NODEFAULT: undeclared global variable.
    Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC, $SND_NODEFAULT,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(139,83) : ERROR: $SND_NOWAIT: undeclared global variable.
    Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC, $SND_NODEFAULT, $SND_NOWAIT)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(661,42) : ERROR: $tagBITMAP: undeclared global variable.
    Global $tDim = DllStructCreate($tagBITMAP)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(672,81) : ERROR: $GDIP_PIXELOFFSETMODE_HIGHQUALITY: undeclared global variable.
    _GDIPlus_GraphicsSetPixelOffsetMode($hContext, $GDIP_PIXELOFFSETMODE_HIGHQUALITY)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\BinaryStrings.au3(890,92) : ERROR: _WinAPI_MoveMemory(): undefined function.
    If Not _WinAPI_MoveMemory(DllStructGetPtr($tOutput), DllStructGetPtr($tBuffer), $Ret[6])
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(143,75) : ERROR: _GDIPlus_GraphicsGetDPIRatio(): undefined function.
    Global Const $STM_SETIMAGE = 0x0172, $aDPI = _GDIPlus_GraphicsGetDPIRatio()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(292,55) : ERROR: _GDIPlus_BitmapCreateFromMemory(): undefined function.
    $hTmp = _GDIPlus_BitmapCreateFromMemory(Quality_Icon())
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(293,67) : ERROR: _GDIPlus_Convert2HBitmap(): undefined function.
    Global $hBMP_Quality = _GDIPlus_Convert2HBitmap($hTmp, $COLOR_MENU)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(362,80) : ERROR: _GUICtrlMenu_CreateBitmap(): undefined function.
    Global $hBMP_Print = _GUICtrlMenu_CreateBitmap(@SystemDir & "\Shell32.dll", 143)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(387,40) : ERROR: Donate(): undefined function.
    GUICtrlSetOnEvent($Pic_Donate, "Donate")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(401,44) : ERROR: _GDIPlus_ScaleImage(): undefined function.
    $hTmp2 = _GDIPlus_ScaleImage($hTmp, 14, 14)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(422,108) : ERROR: _GDIPlus_CreateImageAndText(): undefined function.
    $hImage_Btn_Grab2AVI = _GDIPlus_CreateImageAndText($hTmp, $aTranslations[63][$iLang], 8.0 * $aDPI[0] - 0.5)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(616,53) : ERROR: Grab_Screen(): undefined function.
    GUICtrlSetOnEvent($Button_GrabScreen, "Grab_Screen")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(655,53) : ERROR: JPG_Quality(): undefined function.
    GUICtrlSetOnEvent($Button_JPG_Quality, "JPG_Quality")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(672,81) : ERROR: _GDIPlus_GraphicsSetPixelOffsetMode(): undefined function.
    _GDIPlus_GraphicsSetPixelOffsetMode($hContext, $GDIP_PIXELOFFSETMODE_HIGHQUALITY)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(673,51) : ERROR: _GDIPlus_GraphicsSetInterpolationMode(): undefined function.
    _GDIPlus_GraphicsSetInterpolationMode($hContext, 7)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(686,90) : ERROR: GetStringSize(): undefined function.
    Global $aTmp = GetStringSize($aTranslations[82][$iLang], "Times New Roman", 10 * $aDPI[0])
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(693,18) : ERROR: Refresh_Wnd_List(): undefined function.
    Refresh_Wnd_List()
    ~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(696,45) : ERROR: WebGrab(): undefined function.
    GUICtrlSetOnEvent($Button_WebGrab, "WebGrab")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(697,47) : ERROR: Grab2AVI(): undefined function.
    GUICtrlSetOnEvent($Button_Grab2AVI, "Grab2AVI")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(698,53) : ERROR: Pic2Clipboard(): undefined function.
    GUICtrlSetOnEvent($Button_Clipboard, "Pic2Clipboard")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(699,46) : ERROR: Save_Bitmap(): undefined function.
    GUICtrlSetOnEvent($Button_Save, "Save_Bitmap")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(700,40) : ERROR: _Exit(): undefined function.
    GUICtrlSetOnEvent($Button_Exit, "_Exit")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(757,57) : ERROR: _GDIPlus_FontCollectionCreate(): undefined function.
    Global $hFontCollection = _GDIPlus_FontCollectionCreate()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(758,78) : ERROR: _GDIPlus_FontCollectionGetFamilyList(): undefined function.
    Global $aFontFamilies = _GDIPlus_FontCollectionGetFamilyList($hFontCollection)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(761,58) : ERROR: _GDIPlus_FontFamilyGetFamilyName(): undefined function.
    $sFonts &= _GDIPlus_FontFamilyGetFamilyName($hFontFamily)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(806,55) : ERROR: Call_ImageEditor(): undefined function.
    GUICtrlSetOnEvent($iButtonIE_Dummy, "Call_ImageEditor")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(808,53) : ERROR: Call_Watermark(): undefined function.
    GUICtrlSetOnEvent($iButtonWM_Dummy, "Call_Watermark")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(811,53) : ERROR: Numpad8_Scroll(): undefined function.
    GUICtrlSetOnEvent($iButton_Numpad8, "Numpad8_Scroll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(813,53) : ERROR: Numpad2_Scroll(): undefined function.
    GUICtrlSetOnEvent($iButton_Numpad2, "Numpad2_Scroll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(815,53) : ERROR: Numpad4_Scroll(): undefined function.
    GUICtrlSetOnEvent($iButton_Numpad4, "Numpad4_Scroll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(817,53) : ERROR: Numpad6_Scroll(): undefined function.
    GUICtrlSetOnEvent($iButton_Numpad6, "Numpad6_Scroll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(819,57) : ERROR: NumpadAdd_Scroll(): undefined function.
    GUICtrlSetOnEvent($iButton_NumpadAdd, "NumpadAdd_Scroll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(821,57) : ERROR: NumpadSub_Scroll(): undefined function.
    GUICtrlSetOnEvent($iButton_NumpadSub, "NumpadSub_Scroll")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(824,47) : ERROR: Call_Ruler(): undefined function.
    GUICtrlSetOnEvent($iButton_Ruler, "Call_Ruler")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(827,45) : ERROR: Call_Undo(): undefined function.
    GUICtrlSetOnEvent($iButton_Undo, "Call_Undo")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3(842,35) : ERROR: _WinAPI_LoadKeyboardLayout(): undefined function.
    _WinAPI_LoadKeyboardLayout(0x0409)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    K:\AutoIt Windows Screenshooter\Windows Screenshooter.au3 - 42 error(s), 6 warning(s)
    !>18:18:42 AU3Check ended. Press F4 to jump to next error.rc:2
    >Exit code: 2 Time: 1.228

  • FileDelete - alle anderen .exe Datein löschen mit Ausnahmen

    • BiNu
    • 24. Januar 2014 um 15:18

    Nicht rekursive Lösungsvariante. (ungetestet)

    [autoit]

    $Path = "R:\Temp\"

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

    Global $search = FileFindFirstFile($Path & "*.exe")

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

    If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Exit
    EndIf

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

    While 1
    Local $file = FileFindNextFile($search)
    If @error Then ExitLoop

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

    If StringInStr($file, "1_", 1) Then
    ConsoleWrite("Nicht löschen " & $Path & $file & @CRLF)
    ContinueLoop

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

    Else
    ConsoleWrite("Löschen " & $Path & $file & @CRLF)
    ;FileRecycle($Path&$file)
    EndIf
    WEnd

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

    FileClose($search)

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

    Exit

    [/autoit]

    FileRecycle ist auskommentiert nutzen auf eigene Gefahr!

    edit: Erste Zeile der Pfad braucht ein \ am Ende aus irgendeinem Grund will das Forum hier den aber nicht anzeigen X(

    $Path = "R:\Temp\"

  • Fenster über ein Vollbild legen

    • BiNu
    • 23. Januar 2014 um 23:39

    Ich glaube nicht =)
    Es ist ein Lösungsvorschlag für sein Problem. Ich hatte dasselbe und wenn man viel mit Anwendungen oder eben Games in Vollbild zu tun hat oder in die Win8 Metro UI wechseln muss dann kommt es immer und immer wieder.
    Ein Fenster im Bild bzw. darüber, selbst wenn transparent, ist sowieso meist unpraktisch ausser zum cheaten. Z.B. ein schönes leuchtendes Fadenkreuz.
    War ja bei CS mal voll im Trend. :rolleyes:

    Wie auch immer er muss selbst wissen was er brauch war nur ein Tipp von mir :)

  • Screencapture-Probleme (FPS und Spiele-Bildschirm)

    • BiNu
    • 23. Januar 2014 um 23:13

    Wenn du das ganze in nem RAM Disk laufen lässt, kannst du vielleicht noch ein paar FPS raus holen

    Ich würds testen aber is ja kein Script da :S

  • Tray Menü funktioniert nicht wirklich

    • BiNu
    • 23. Januar 2014 um 23:08

    ich würde ja Select Case nehmen nicht Switch

    Und dann bei jedem Case zwei variablen verglichen
    Case $msg = $GUI_EVENT_CLOSE

    Das wird viel übersichtlicher und du kannst TrayGetMsg() und GUIGetMsg() und was immer du willst im gleichen Konstrukt vergleichen.

    aber noch viel besser wird es mit

    Opt("TrayMenuMode", 1)
    Opt("TrayOnEventMode", 1)
    und
    Opt("GUIOnEventMode", 1)

    Und dann mit Funktionen arbeiten. Alles in ne Endlosschleife packen :wacko: hab kein Plan wieso man dass nutzen sollte.
    Aber die Hilfe ist halt voll davon. Kann man super Spagetticode GUIs mit machen :thumbup:

  • Programme in Taskleiste (unten rechts) minimieren

    • BiNu
    • 23. Januar 2014 um 22:00

    suchst du @SW_MINIMIZE ?

    edit:

    wohl eher GUISetState(@SW_HIDE, $hGUI)

    Aber um die Fenster Animation nicht "kaputt" zu machen solltest du zuerst minimieren und dann ganz verstecken.
    Wieder öffnen genau umgekehrt.

    Via Trayicon mit TraySetClick( 8 ) ;)


    nochmals edit:

    vielleicht so was?

    [autoit]


    Opt("TrayOnEventMode", 1)
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "TrayDoubleEvent")

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

    Func TrayDoubleEvent()
    If GUISetState(@SW_SHOW, $GUI) Then
    GUISetState(@SW_RESTORE, $GUI)
    Else
    GUISetState(@SW_HIDE, $GUI)
    EndIf
    EndFunc ;==>TrayDoubleEvent

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

    Func MinimizeToTray()
    GUISetState(@SW_MINIMIZE, $GUI)
    Sleep(300)
    GUISetState(@SW_HIDE, $GUI)
    TrayTip($ScriptName, "haaaiii", 5)
    EndFunc ;==>MinimizeToTray

    [/autoit]
  • Selbst-Update via Dropbox oder FTP

    • BiNu
    • 23. Januar 2014 um 21:58

    InetGet oder die winhttp UDF nutzen der ganze crap mit dem IE würde ich gar nicht erst anfangen mit. Ja inetget nutzt wohl auch den IE m(

  • Fenster über ein Vollbild legen

    • BiNu
    • 23. Januar 2014 um 21:52

    Als ehemaliger Zokker kann ich dir nur ne Hardware Lösung empfehlen. Sprich hol dir ein alten kleinen zweit Monitor. Die kannst du unter Umständen vom Elektroschrotthändler in deiner Nähe für praktisch nix kaufen. Ansonsten ebay o.ä. schauen.
    Brachst natürlich eine GaKa die noch ein Anschluss frei hat. Auf dem zweiten Monitor kann man dann allerlei nützliche Tools, Konsolen, Skype etc. anzeigen lassen.

    Wenn dass nicht geht kannst du mit Freeware versuchen deinem PC vorzugaukeln das dein Monitor eigentlich 2 Monitore sind. Also Bildschirm splitten und somit die Vollbild Anwendung verkleinern und auf dem freien platz die Tools platzieren.
    Das ist natürlich gerade bei Games schade um die verlorene Auflösung.

  • GrooveLoad - ein Grooveshark Downloader

    • BiNu
    • 23. Januar 2014 um 19:54

    Also mit X-FORWARDED-FOR hab ich es ohne VPN laufen lassen kann also nicht am VPN liegen. Wohl eher an den Servern bzw. deren Anbindung.
    Ohne hab ich nur ausprobiert um zu sehne ob es deswegen vielleicht so langsam ist.
    Mit CH IP geht die Seite im Browser problemlos auch Musik lauft und Stream lädt zügig.
    Hat keine Priorität dass weiter zu untersuchen aber wenn du testen willst mit CyperGhost VPN kannst du gratis ne CH IP nutzen.

    Zitat

    MusicBrainz Picard werde ich mir mal angucken.

    :thumbup:

    /edit

    Dass mit den "Blocks" nützt nix. Kleiner verhindert dass das GUI längere zeit freezed. Das is ja eben das angesprochene Problem mit der winhttp UDF die beim Download eines "Blocks" einfach alles andere pausiert.

  • Dekompilieren für Eigenbedarf nicht mehr möglich? Alternative?

    • BiNu
    • 23. Januar 2014 um 19:17
    Zitat von zawn


    Edit: mit /striponly hat meine Datei dann zwar immerhin 740 Zeilen, aber die Zeile aus dem Errorcode (8326) kann ich hier trotzdem noch nicht lokalisieren :(
    Hab ich was vergessen?

    Du musst die neue exe und die dazugehörige _Obfuscated.au3 haben es muss genau die gleich Version sein!
    Wenn nun bei der exe ein Fehler kommt dann kannst du in der gesicherten _Obfuscated.au3 die Zeile finden diese dann im original Script fixen und alles neu compilieren. Die neue _Obfuscated.au3 wider irgendwo sichern!
    Dein Error 8326 wird von einer exe kommen die ohne /striponly compiliert wurde damit geht das nicht.


    /edit

    Zitat von BugFix

    zawn:
    Mal zum besseren Verständnis für dich, warum alle beim Thema Dekompilieren "abgehen":
    Es ist doch völlig uninteressant und spielt nicht die geringste Rolle wessen Skript du dekompilieren willst. Der Knackpunkt ist, dass das Skript mit "Aut2exe.exe" in eine ausführbare Datei kompiliert wurde. An dieser Datei hast du keinerlei Rechte und erklärst dich bei Nutzung derselben mit den Lizenzbedingungen des Eigentümers einverstanden. Und diese besagen klipp und klar: No Decompiling!
    Das heisst ebenso sonnenklar, dass auch das Dekompilieren eigener Skripte einen Lizenzverstoß darstellt.
    Wenn hier also jemand einen Grund hätte etwas angepisst zu reagieren, so wären wir das, weil es immer noch und wieder Leute gibt, denen das Wort Lizenz total am Arsch vorbeigeht!

    Ich kann mir doch von hier http://www.autoitscript.com/site/autoit/downloads/ das zip File laden dann entpacken und hab in \install\Aut2Exe\ die Aut2exe.exe und die Aut2exe_x64.exe die kann ich ausführen und machen damit was ich will. nirgends hab ich irgendwelche Lizenzen die ich lesen oder akzeptieren musste. Es könnte da in der Lizenz auch stehen das ich bei Benutzung Gebühren zahlen muss. Rechtlich gesehen interessiert das keinen. Lizenzen müssen klar ersichtlich sein nicht der User muss danach suchen. Das einzige ersichtliche ist ein (C) auf dem GUI welches für eigen Gebrauche sowieso keine Bedeutung hat.

  • GrooveLoad - ein Grooveshark Downloader

    • BiNu
    • 23. Januar 2014 um 18:10

    Das ist echt ne Hammer Arbeit :rock:

    Bug :whistling:

    Beim abbrechen eines Downloads scheint eine Datei Leiche (0 Byte) im DL Ordner zu bleiben.
    Während "Ermitteln der Streamdaten... Verbindung zu Grooveshark hergestellt.[..]" kann man nicht abbrechen .
    Wenn ich X-FORWARDED-FOR ausschalte kommt immer "Fehler beim Abrufen der Streamdaten" der Verbindungstest ist jedoch erfolgreich (getestet über VPN mit CH IP)
    Der DL mit X-FORWARDED-FOR ist sehr langsam es dauert ca. 1 min bis er anfängt zu laden danach für 2MB 65 sek :wacko:
    Dabei gefriert das tool spontan für mehrere Sekunden. ("Keine Rückmeldung" im Fenster Titel)
    Dass kann man sehr wahrscheinlich nur durch Multi-Prozesse lösen. Die WinHTTP UDF lässt alles pausieren bis antworte kommt oder Timeout.
    Ware natürlich interessant wäre, weil man dadurch auch parallel Dateien laden könnte.

    Interessant wäre auch eine Integration vom MusicBrainz Picard (picard.exe) zusätzlich zu Mp3tag ;)

  • Problem bei Verschlüsselung

    • BiNu
    • 22. Januar 2014 um 20:48

    Poste doch bitte lauffähigen Code. Dann ist die Chance auch höher dass jemand dir hilft.
    Wenn man da zuerst diverses ändern muss damit was lauft braucht das unnötig Zeit

    Spontan würd' ich mal sagen FileOpen und FileClose sauber anwenden und wenn du das verschlüsselte ins File schreibst binary flag setzten.

    /edit

    Aus der Hilfe von FileWrite:

    AutoIt schreibt Text standardmäßig mit ANSI Kodierung. Um in Unicode Kodierung zu schreiben, muss die Datei mit FileOpen unter Verwendung der notwendigen Flags geöffnet werden.

    Demnach schriebst du den Binary string mit ANSI Kodierung in das File.

  • Ausführen zwischen zwei Zeiten

    • BiNu
    • 22. Januar 2014 um 17:36

    Jede Zeit liegt zwischen 2 andern Zeiten dass ist ja irgendwie logisch ne.

    [autoit]

    $OnHour = 1 ;moegen um 1:00
    $OffHour = 2 ;bis morgen um 2:00

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

    ;$OnHour = 2 ;morgen um 2:00
    ;$OffHour = 1 ;bis nächsten moregn um 1:00

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

    If $OnHour < $OffHour Then
    Select
    Case @HOUR >= $OnHour And @HOUR < $OffHour
    MsgBox(4096, "", "Display an! ")
    Case Else
    MsgBox(4096, "", "Display aus! ")
    EndSelect
    EndIf

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

    If $OnHour > $OffHour Then
    Select
    Case @HOUR >= $OnHour Or @HOUR < $OffHour
    MsgBox(4096, "", "Display an! ")
    Case Else
    MsgBox(4096, "", "Display aus! ")
    EndSelect
    EndIf

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

    Exit

    [/autoit]
  • Problem mit Run

    • BiNu
    • 22. Januar 2014 um 16:14

    Lass mal das Script auch als Admin laufen.

  • Ausführen zwischen zwei Zeiten

    • BiNu
    • 22. Januar 2014 um 15:38

    nö ich war am editieren^^

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™