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. WhiteLion

Beiträge von WhiteLion

  • [3D|Irrlicht] AutoIt Picture viewer

    • WhiteLion
    • 27. August 2011 um 09:19

    hast du mal ein packet was du ferig machen würdest... mit den .dll ´s und co .... wollte mir nicht alles händisch zusammen kramen.

  • BadBlaster - Ein AutoIt Virenscanner + Cleaner + Active Guard mit großer Datenbank

    • WhiteLion
    • 27. August 2011 um 08:05

    wenn ich das tool starte, dann bekomme ich einen autoit error - > line 5795

    mich würde brennend interessieren wie du (so versteh ich es zumindest)
    autoitcode der nicht nativ kompiliert ist zumlaufen bekommst ? so weit ich weiss, geht das gar nicht.


    edit: $aProcess[$iPID][4] = $objItem.PercentProcessorTime -> G:\Spiele\test123\ActiveGuard.au3 (422) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    $aProcess[$iPID][4] = $objItem.PercentProcessorTime

    EDIT2:
    ohne es wirklich testen zu können noch ein tipp. du solltest nicht den ganzen md5 als signatur nehmen. sonst stößt du schnell an performance - grenzen wenn du 100 mio. hashwerte einträgst. besser wäre gewisse breiche aus dem ram zu dumpen und darauf md5 anzuwenden. ... ist natürlich die frage wie man eine datenbank sinn füllt, denn du müsstest alles von hand machen....
    auch packer zu erkennen wäre nötig ... da könnte ich dir mit einer signatur-datenbank dienen. selbige entpacken zu lassen, wäre eigentlich nötig um die erkennung sicherzustellen ... aber schreib mal einen generic entpacker :D ... oder überhaupt erstmal einen :D
    jetzt weisst du auch warum die antiviren-hersteller so viele leute beschäftigen.


    Code
    G:\Spiele\test123\BadBlaster.au3(238,27) : WARNING: $hProgress: possibly used before declaration.
    	GUICtrlSetData($hProgress,
    	~~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(240,30) : WARNING: $hProgressLBL: possibly used before declaration.
    	GUICtrlSetData($hProgressLBL,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(353,26) : WARNING: $Progress: possibly used before declaration.
    	GUICtrlSetData($Progress,
    	~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(354,29) : WARNING: $ProgressLBL: possibly used before declaration.
    	GUICtrlSetData($ProgressLBL,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(356,23) : WARNING: $Quit: possibly used before declaration.
    	GUICtrlSetState($Quit,
    	~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(384,23) : WARNING: $SObj: possibly used before declaration.
    		GUICtrlSetData($SObj,
    		~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(416,25) : WARNING: $SSObj: possibly used before declaration.
    			GUICtrlSetData($SSObj,
    			~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(421,28) : WARNING: $SSObjQua: possibly used before declaration.
    			GUICtrlSetData($SSObjQua,
    			~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(422,34) : WARNING: $ScanGUI: possibly used before declaration.
    			GUISetState(@sw_hide, $ScanGUI)
    			~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(427,29) : WARNING: $SSObjDel: possibly used before declaration.
    				GUICtrlSetData($SSObjDel,
    				~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(534,22) : WARNING: $l: possibly used before declaration.
    	if @error then $l=$l+
    	~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(537,12) : WARNING: $ob: possibly used before declaration.
    				$ob=$ob+
    				~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(538,47) : WARNING: $zaehl: possibly used before declaration.
    				GUICtrlSetData($Progress, round($ob/$zaehl*
    				~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3(540,11) : WARNING: $d: possibly used before declaration.
    					$d=$d+
    					~~~~~^
    G:\Spiele\test123\BadBlaster.au3(541,11) : WARNING: $s: possibly used before declaration.
    					$s=$s+
    					~~~~~^
    G:\Spiele\test123\BadBlaster.au3(544,11) : WARNING: $o: possibly used before declaration.
    					$o=$o+
    					~~~~~^
    G:\Spiele\test123\BadBlaster.au3(211,66) : WARNING: $hProgress: declared global in function only. Prefer top of file.
    	Global $hProgress = GUICtrlCreateProgress(5, 65, 546-120-10, 20)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    G:\Spiele\test123\BadBlaster.au3 - 0 error(s), 17 warning(s)
    Alles anzeigen
  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 17:46

    @progandy
    okey, danke ...
    ich werds mal so versuchen :)

    AspirinJunkie
    das meiste informationen um die prozesse zu filtern wie....
    registrierungs-schlüssel werte, hashwerte, pids, pfade... etc.

    EDIT: also _ArrayBinarySearch kann ich leider nicht anwenden, dann es sich ja um ein 2D array handelt.
    das mit dem durchsuchen des großen arrays statt des kleinen hat einiges gebracht.
    Sortiere deine Blockliste <- das könntest du noch mal erklären... was meinst du mit blockliste ?

  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 16:29

    okey, das wusste ich nciht ... schätze mal das es bei sleep(1) automatisch auf 10 gesetzt wird.... nun ja, aber was kann ich denn nun machen ? - hat keiner eine idee ?

  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 16:19

    ja, das sleep ist auch nur weil es sonst den prozessor (zumindest einen kern) ... auslastet
    mache ich sleep(1), dann gehts auf 6-10% auslastung (was ok wäre), aber der scannvorgang dauert pro durchlauf ca. 30 sekunden. :(

  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 16:15

    oh sry ... hab ich falsch verstanden.

    also sinn ist es die aktuell laufenden prozesse (in meinen script: $ProcList = ProcessList()) mit den prozessen aus meinem array was 2300 prozesse beinhaltet ($AppsDirFilesIni[4000][21]) zu vergleichen, wenn ich einen der 2300 prozesse unter den laufenden finde, dann führe ich vergleiche durch um sicher zu gehen, dass es sich auch wirklich um den gesuchten handelt. (die vergleiche sind aber wie gesagt nicht das problem, sondern nur das ständige scannen, was ich ja hier mit _ArraySearch anstelle)

  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 15:39
    Zitat von AspirinJunkie

    Ich weiß nicht genau was dein Programm machen soll.
    Daher wäre es vielleicht besser wenn du mal ganz konkret sagst was du am Ende erreichen willst und dann kann man mal schauen ob es an deinem Ansatz oder deiner Umsetzung etwas verbessern kann.
    Spontan überblicke ich den Code erstmal nicht so schnell.
    Ins Auge fallen mir da aber z.B. die For-Schleife die eine feste Endgröße von 3999 besitzt - sieht spontan ineffektiv aus - allerdings weiß ich ja nicht wofür die ist.

    Die eigentlich wichtige Frage dabei: Warum weiß du das es das ArraySearch ist was so langsam ist und nicht z.B. die _PidGetPath() oder die _createSHA1HashEditor (welche nicht im Skript dabei liegen)?0

    ich weiss es daher, da diese funktionen nur bei einem treffer von _arraysearch ausgeführt werden.
    siehe: if @error=0 and $index >= 0 then
    das sind max. 2-5 treffer

    das array wird auch nicht bis zum ende (3999) durchsucht, sondern nur bis zum letzten eintrag:
    siehe: if $AppsDirFilesIni[0][9]-1 >= $x then
    okey, das ist optimierbar, drüfte aber wohl kaum das problem lösen :(

    Zitat von AspirinJunkie


    Wie gesagt - beschreib lieber was du erreichen willst anstatt uns deinen komplexen Code zu erklären - dann kann man vielleicht mehr helfen.

    ich möchte erreichen, dass meine suche schneller vonstatten geht als bislang.

  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 14:43

    hier ein auszug der funktion:

    Daraus werden die exe-files (2300) geholt von $AppsDirFilesIni[$x][4]:
    $AppsDirFilesIni[4000][21]


    [autoit]

    Func _getProcessInfos($index_StartSearch_AppsDirFilesIni=0)
    _check_GUI_Buttons()
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","IN------------------------------------------------------_getProcessInfos"&@LF)
    ;if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","_getProcessInfos STARTE BEI INDEX:"&$index_StartSearch_AppsDirFilesIni&@LF)
    Local $x
    Local $index = 0
    ;Sleep(10)
    $ProcList = ProcessList()
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","INI index:"&$x&" search start from: "&$index_StartSearch_AppsDirFilesIni&@LF)
    ;_ArrayDisplay($ProcList, "$FileList")
    for $x=0+$index_StartSearch_AppsDirFilesIni to 3999
    $ExeFileName = $AppsDirFilesIni[$x][18]&$AppsDirFilesIni[$x][4]
    ;_ArrayDisplay($AppsDirFilesIni, "$FileList")
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","INI index:"&$x&" $ExeFileName:"&$ExeFileName&@LF)
    ;anzahl der elemente in $AppsDirFilesIni:
    Sleep(10)
    if $AppsDirFilesIni[0][9]-1 >= $x then
    $index = _ArraySearch($ProcList, $ExeFileName, 0, 0, 0, 0, 1, 0)
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","process search - error:"&@error&@LF)
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","process search:"&$index&@LF)
    if @error=0 and $index >= 0 then
    ;$RunningApplication[0] = $ExeFileName
    $AppsDirFilesIni[$x][10] = $ProcList[$index][0]
    $AppsDirFilesIni[$x][11] = $ProcList[$index][1]
    $AppsDirFilesIni[$x][12] = _PidGetPath($ProcList[$index][1])
    $AppsDirFilesIni[$x][13] = _createSHA1HashEditor($AppsDirFilesIni[$x][12])
    $AppsDirFilesIni[$x][14] = $index
    $IndexFound_AppsDirFilesIni = $x
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","INI index:"&$x&" setting continue index to: "&$IndexFound_AppsDirFilesIni&@LF)
    ; return >= 4 - patch okey, in liste!
    ; return <> 0 - patch was gefunden, aber falsch -> weitersuchen
    ; return = 0 nix gefunden
    $AppsDirFilesIni[$x][20] = (_regkey_classification($x) + _ApplicationDetectPath($x) + _hash_bewertung($x))
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log"," SUMME der BEWERTUNG $AppsDirFilesIni[$x][20]:"&$AppsDirFilesIni[$x][20]&@LF)
    if $AppsDirFilesIni[$x][20] = 1 or $AppsDirFilesIni[$x][20] = 2 or $AppsDirFilesIni[$x][20] = 3 Then
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","AUSKLAMMERN:"&$AppsDirFilesIni[$x][4]&@LF)
    $AppsDirFilesIni[$x][18] = 1
    EndIf
    if $AppsDirFilesIni[$x][20] >= 4 Then
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","OUT-------------------Return:"&$AppsDirFilesIni[$x][20]&"-----------------------------------_getProcessInfos"&@LF)
    Return $AppsDirFilesIni[$x][20]
    EndIf
    ;if $debuglog = 1 then FileWrite($ToolTitle&"debug.log", $RunningApplication[0] & " " & $RunningApplication[1] & " "& $RunningApplication[2] &" "& $RunningApplication[3] & " " & $RunningApplication[4] & " "& $RunningApplication[5]& " "& $RunningApplication[6])
    EndIf
    Else
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","clear RunningApplication array"&@LF)
    ;$index = ""
    $AppsDirFilesIni[$x][10] = ""
    $AppsDirFilesIni[$x][11] = ""
    $AppsDirFilesIni[$x][12] = ""
    $AppsDirFilesIni[$x][13] = ""
    $AppsDirFilesIni[$x][14] = ""
    $AppsDirFilesIni[$x][20] = ""
    $IndexFound_AppsDirFilesIni = ""
    EndIf
    if $AppsDirFilesIni[0][9]-1 <= $x then
    $IndexFound_AppsDirFilesIni = ""
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","OUT-------------------Return:leer-----------------------------------_getProcessInfos"&@LF)
    Return ""
    EndIf
    Next
    if $debuglog = 1 then FileWrite($ToolTitle&"debug.log","OUT-------------------Return:leer-----------------------------------_getProcessInfos"&@LF)
    $IndexFound_AppsDirFilesIni = ""
    return ""
    EndFunc

    [/autoit]
  • 2D Array durchsuchen, _ArraySearch() zu langsam :(

    • WhiteLion
    • 26. August 2011 um 14:23

    moinsen mal wieder :)

    leider hab ich ein massives performance wenn ich mein array durchsuche:

    ich durchsuche mein array ($ProcList) mit allen laufenden prozessen (meist 50 - 200):

    $index = _ArraySearch($ProcList, $ExeFileName, 0, 0, 0, 0, 1, 0)

    ... das ganze in einer schleife und zwar ist $ExeFileName eine liste die ca. 2300 einträge umfasst.

    ... dauert bei mir ca 5 sekunden, dann ist aber der prozessor voll ausgelastet, was ich extrem störend
    finde, da die anwendung dezent im hintergrund laufen soll ohne das system zu freezen.
    baue ich sleeps ein, streckt sich das ganze wie kaugummie... :(
    was kann ich machen ? - gibt es eine performantere alternative zu _ArraySearch ??

    Gruss aus celle

  • Eingabe: zwei Dateien Ausgabe/Return: Dateiname neueste von Beiden

    • WhiteLion
    • 18. August 2011 um 13:23

    Gibt die neuere der beiden dateien zurück....

    ich habs in meinem programm gebraucht, weil ich keine udf gefunden habe ... wers auch braucht, bitte sehr ;)

    [autoit]

    #include <array.au3>

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

    MsgBox(0, "Ergebnis", "Neuer:" & _file_time_compare("update.sha", "status.tmp"))

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

    Func _file_time_compare($file1,$file2)
    $1 = FileExists($file1)
    $2 = FileExists($file2)
    if $1+$2 = 0 Then Return ""
    if $1 = 0 Then Return $file2
    if $2 = 0 Then Return $file1
    $filetime1array = FileGetTime($file1)
    $filetime1 = StringReplace(_ArrayToString($filetime1array), "|", "")
    $filetime2array = FileGetTime($file2)
    $filetime2 = StringReplace(_ArrayToString($filetime2array), "|", "")
    $r = $filetime1 - $filetime2
    if $r >= 0 Then Return $file1
    if $r < 0 Then Return $file2
    EndFunc

    [/autoit]
  • GUI lahmt :(

    • WhiteLion
    • 11. August 2011 um 21:56

    guten abend ;)

    heute habe ich ein problem mit meiner GUI.
    diese reagiert sehr träge und ich dachte, dass ich es damit lösen könnte:

    [autoit]

    AutoItSetOption("GUIOnEventMode",1)
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_check_GUI_Buttons")

    [/autoit]

    das ist der code:

    [autoit]


    Func _check_GUI_Buttons()
    $aMsg = GUIGetMsg(1)
    $msg = $aMsg[0]
    if $msg = $GUI_EVENT_CLOSE Or $Msg = $exititem Then
    if $aMsg[1] = $Form3 Then
    WinSetOnTop($Form3,"",0)
    $realyclose = MsgBox(1,"Question","Really close ?")
    if $realyclose = 1 Then
    _delete_loader_GUI()
    $Closed_GUI_by_Manual = 1
    EndIf
    EndIf
    if $aMsg[1] = $SettingsGui Then
    GUIDelete($SettingsGui)
    $SettingsGui = ""
    EndIf
    if $aMsg[1] = $Form5 Then
    GUIDelete($Form5)
    $Form5 = ""
    EndIf
    if $aMsg[1] = $h8Gui Then
    GUIDelete($h8Gui)
    $h8Gui = ""
    EndIf
    endif
    if $aMsg[0] <> "" And $aMsg[0] = $PID_GUI Then _enterPID()
    if $aMsg[0] <> "" And $aMsg[0] = $enterregistersite Then ShellExecute("http://wwww.n4cer.de/?reg=" & $number)
    if $aMsg[0] <> "" And $aMsg[0] = $request_PID_button Then _get_PID_from_PW()
    ;traymenu
    if $aMsg[0] <> "" And $aMsg[0] = $rescanitem Then
    _clearApplicationIniArrayEditor()
    _clearInformationIniToArrayEditor()
    $Closed_GUI_by_Manual = 0
    $Timer1 = 9
    _delete_loader_GUI()
    EndIf
    if $aMsg[0] <> "" And $aMsg[0] = $messagesitem Then
    ShellExecute("http://wwww.n4cer.de/inbox")
    EndIf
    if $aMsg[0] <> "" And $aMsg[0] = $settingsitem Then _Settings()
    if $aMsg[0] <> "" And $aMsg[0] = $friendsitem Then _create_friendsonline_gui()
    if $aMsg[0] <> "" And $aMsg[0] = $aboutitem Then Msgbox(64,"About","blabla .....")
    if $aMsg[0] <> "" And $aMsg[0] = $exititem Then Exit
    EndFunc

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

    vorher hab ich _check_GUI_Buttons() immer in einer schleife abgefragt, die abfragen hab ich noch nicht
    entfernt. - kann es daran liegen ? jetzt reagiert die gui nämlich gar nicht mehr :(

  • größere hexwerte addieren, aber wie ?

    • WhiteLion
    • 26. Juli 2011 um 08:47

    @progandy 
    das problem ist nur:
    ich brauche noch subtrahieren... und evtl noch weitere ;(
    und das array was abgearbeitet wird ist unterschiedlich groß, so dass zwischen
    30 und 120 solcher rechnungen pro sekunde durchgeführt werden sollten.... :(

    Marthog
    ich probier das mal aus mit größeren werten ... war gestern zu spät.
    EDIT: geht nicht ... alles über 4 byte hängt nullen an und addiert nicht.

    danke aber schonmal jungens :)

  • größere hexwerte addieren, aber wie ?

    • WhiteLion
    • 26. Juli 2011 um 00:50

    danke für die antworten und das script :D

    also auf die geschwindigkeit kommts leider schon etwas an. ich habe aber schon die bignum.udf gefunden welche das verrechnen von großen dezimalzahlen ermöglicht. leider keine hex .... im grunde wäre mir wohl geholfen, wenn ich große hexzahlen in dezimal und wieder zurück wandeln könnte.... (zumindest meine ich das, ohne alle funktionen durchdacht zu haben die ich ändern müsste....)

    edit:
    oh super danke... mit dem beispiel wäre es dann mit 32bit/int gelöst....
    .... aber was ist mit 64bit ?

  • größere hexwerte addieren, aber wie ?

    • WhiteLion
    • 26. Juli 2011 um 00:25

    wie denn ?

    das geht z.B. nicht:

    [autoit]


    $x = "DDDDDDDD"
    $y = "11111111"
    MsgBox(0,"$result",hex("x0"&$x+"x0"&$y))

    [/autoit]

    das schon:

    [autoit]


    $x = 0xDDDDDDDD
    $y = 0x11111111
    MsgBox(0,"$result",hex("x0"&$x+"x0"&$y))

    [/autoit]


    ... bringt mir aber nix, da die werte im array ohne "0x" vorliegen und dar pure "davorhängen" wie im beispiel drüber geht ja nicht. :( zumal es vorkommen kann, das der hexwert größer als 32 bit ist und dann gibts nen bösen crash.

    wenn ich es vorher per "dec" aus dem array in dezimal wandel, dann es es noch stärker begrenzt, weil man mit dezimalzahlen leider auch nicht unbegrenzt rechnen kann :(

  • größere hexwerte addieren, aber wie ?

    • WhiteLion
    • 25. Juli 2011 um 23:53

    hallo, ich habe in einem array zwei hexwerte die mal so groß sein können:
    wert1: "dddddddd"
    wert2: "11111111"
    ^^ das geht schon nicht ... zumindest weiss ich nicht wie...
    leider könnte es sogar auch vorkommen, dass mal größere werte (bis 64bit)
    addiert werden müssen .... hier dran darf ich gar nicht denken...
    leider hab ich keine lösung (nicht mal für das beispiel mit den relativ kleinen werten) gefunden...

    LG

  • Screenreader UDF

    • WhiteLion
    • 12. Juli 2011 um 18:34

    meinen tiefsten respekt .... ich möchte gar nicht wissen wie lange man mit einer sehbehinderung an sowas sitzt. und dann noch so aufgeräumt, damit wir als nicht blinde überhaupt genug verstehen :D ... behindert hilft nicht behindert :D eigentlich sollte es umgekehrt sein. xD

  • Trayicon Bereich updaten / refreshen

    • WhiteLion
    • 29. Juni 2011 um 13:19

    ups, ja natürlich :)

    edit: habs oben gefixed

  • Trayicon Bereich updaten / refreshen

    • WhiteLion
    • 29. Juni 2011 um 13:01

    ich hoffe ich habe dich richtig verstanden ... versuch mal das hier:

    [autoit]


    Opt("TrayMenuMode",1)
    $exititem = TrayCreateItem("Beenden")
    TraySetState()
    Local $timer = 0
    While 1
    $tmsg = TrayGetMsg()
    Select
    Case $tmsg = $exititem
    Exit
    EndSelect
    Sleep(20)
    $timer +=1
    If $timer >= 1500 Then _refresh()
    if $timer > 1500 Then $timer = 0
    WEnd

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

    Func _refresh()
    Local $x=0,$y=0
    Local $iMode = Opt("WinTitleMatchMode", 4)
    Local $hControl = ControlGetHandle("[CLASS:Shell_TrayWnd]", "", "[CLASSNN:ToolbarWindow321]")
    ;~ Local $acSize = ($hControl)
    ;~ For $x = 0 To $acSize[0] Step 5
    ;~ For $Y = 0 To $acSize[1] Step 5
    DllCall("user32.dll", "lparam", "SendMessage", "hwnd", $hControl, "int", 0x0200, "wparam", 0, "lparam", BitOR($Y * 0x10000, BitAND($x, 0xFFFF)))
    ;~ Next
    ;~ Next
    EndFunc

    [/autoit]

    teste mal ob das mit dem refresh noch hinhaut ... sollte alle 30 sekunden sein....
    das script ist oben in einer endlosschleife gelandet die ich rausgenommen habe ... mag sein das sie wieder rein muss, allerdings muss man eine schleife auch irgendwann verlassen ... da ich die parameter von sendmessage nicht auf dem schirm habe muss ich erstmal schauen.... wenns trotzdem klappt mit dem refresh, dann kurze nachrich hier posten.

  • Trayicon Bereich updaten / refreshen

    • WhiteLion
    • 29. Juni 2011 um 12:06

    das update der icons erfolgt per winaip sendmessage ... die ich bin jetzt auch keine experte, in den sendmessage-api-optionen, aber ich denke mal das die optionen schon stimmen.
    ich würde dir empfehlen deinen code zu posten, dann kann man andere fehlerquellen entdecken und auch am besten einen aufruf des updates alle 30 sekunden implementieren.

  • taskscheduler - per commandline - problem...

    • WhiteLion
    • 29. Juni 2011 um 11:34

    seit stunden sitze ich hier vor einem problem.... ich versuche eine aufgabe per commandline in den scheduler einzutragen. das mach ich wie follgt:

    [autoit]

    $name="This_is_task_XYZ"
    ;$pfadzurEXE="c:\programme\poke-em"

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

    ShellExecute("schtasks.exe",'/create /sc ONSTART /tn '&'"'&$name&'"'&' /tr '&'"\"'&@ScriptFullPath&'"\"'&' /rl HIGHEST',"","",@SW_HIDE)

    [/autoit]

    so weit so unfein ... eh ich rausbekommen hatte, dass man den pfad escapen musste, da sonst bei leerzeichen abgeschnitten wird und gar nix geht, vergingen erst mal 2 tage... in allen beispielen steht nämlich das man den pfad einfach in anführungsstriche setzen muss. ... das scheint zumindest bei mir nicht zu gehen. ich bin mir immer noch unsicher diesbezüglich. denn wenn ich es jetzt so mache wie im script oben, dann wird der pfad zwar bei leerzeichen nicht abgeschnitten(siehe beispiel/bild), aber er wird inklusive der anführungszeichen in den scheduler eingrtragen(siehe beispiel/bild). was offensichtlich dazu führt das die aufgabe nicht ausgeführt wird.... denn alle aufgaben ohne anführungszeichen werden ausgeführt!
    der kuriositäten nicht genug: auch wenn ich über den taskscheduler von windows selber einen task über die GUI manuell anlege, dann steht selbiger ebenfalls in anführungszeichen und wird NICHT ausgeführt.
    es gibt aber programme die sich auch mitleerzeichen im pfad dort eintragen ... (siehe beispiel/bild /TuneUp) ich frage mich nur "wie" und warum ich diese ganzen probleme habe.... evtl hat jemand von euch noch eine idee !??

    [Blockierte Grafik: http://img189.imageshack.us/img189/1455/failcg.jpg]

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™