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

Beiträge von Concara

  • TaskManager Light

    • Concara
    • 13. November 2009 um 10:48

    Hi!

    Hier dein etwas veränderte Code damit es auch zum Scrollen geht!
    Wenn du den Balken nicht sehen willst dann must du halt wieder die GUICtrlCreateListView etwas vergrößern.
    Bei deinem Script hast du die GUI in der Funktion erstellt und wieder glöscht.
    Mit @SW_HIDDE und @SW_SHOW kannst du sie aus und einblenden und musst sie nicht jedesmal erstellen und löschen lassen.

    LG
    Concara

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GUIListView.au3>

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

    If Not FileExists(@ScriptDir & "\settings.ini") Then
    $hotkey = InputBox("HotKey Auswahl", "Gebe deinen gewünschten HotKey ein", "t"," M1"); Default Hotkey ist t " M1" man muss was eingeben kann aber nur einen Buchstaben eintragen
    If $hotkey = "" Then Exit ; Wenn jemand auf Abbrechen klickt wird das Script beendet
    IniWrite(@ScriptDir & "\settings.ini", "Hotkey", "Selected Hotkey", $hotkey)
    Else
    $inihotkey = IniRead(@ScriptDir & "\settings.ini", "Hotkey", "Selected Hotkey", "")
    EndIf

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

    $inihotkey = IniRead(@ScriptDir & "\settings.ini", "Hotkey", "Selected Hotkey", "")

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

    HotKeySet($inihotkey, "_TabList")
    HotKeySet("{ESC}", "_exit")
    Global $gui = GUICreate("TaskManager Light", 205, 400, -3, 1, $WS_OVERLAPPEDWINDOW)
    ;BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS));
    ;Warum du das alles an deine GUICreate gehängt hast weiß ich nicht!? Ich würde erst dann was eintragen wenn du es wirklich brauchst.
    Global $on = True
    Global $MenuItem1 = GUICtrlCreateMenu("Menü")
    Global $MenuItem2 = GUICtrlCreateMenuItem("Prozess Schließen", $MenuItem1)
    Global $MenuItem3 = GUICtrlCreateMenuItem("Prozesse Updaten", $MenuItem1)
    Global $ListView1 = GUICtrlCreateListView("Prozesse", 0, 0, 200, 380, -1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_CHECKBOXES))
    GUICtrlSetResizing (-1,$GUI_DOCKBOTTOM)
    _ShowActiveProcesses($ListView1)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $MenuItem2
    _ProcessKill()
    Case $MenuItem3
    _ShowActiveProcesses($ListView1)
    EndSwitch
    WEnd

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

    Func _TabList()
    If $on = True Then
    _ShowActiveProcesses($ListView1)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, -1)
    GUISetState(@SW_SHOW)
    $on = False
    ElseIf $on = False Then
    GUISetState(@SW_HIDE)
    $on = True
    EndIf
    EndFunc

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

    Func _ShowActiveProcesses($id)
    _GUICtrlListView_DeleteAllItems($ListView1)
    Local $lst = ProcessList()
    For $i = 1 To $lst[0][0]
    GUICtrlCreateListViewItem($lst[$i][0], $id)
    Next
    EndFunc

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

    Func _ProcessKill()
    $LVItemCount = _GUICtrlListView_GetItemCount($ListView1)
    For $i = $LVItemCount To 0 Step -1
    $LVItemGetChecked = _GUICtrlListView_GetItemChecked($ListView1, $i)
    If $LVItemGetChecked = True Then
    $PIDName = _GUICtrlListView_GetItemText($ListView1, $i)
    ProcessClose($PIDName)
    _GUICtrlListView_DeleteItem($ListView1, $i)
    EndIf
    Next
    EndFunc

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

    Func _exit()
    Exit
    EndFunc

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

    ;Diese Funktion müßtest du dir noch genauer überlegen!
    ;z.b. "alte Processliste" "neue Processliste" "dein Liste nach dem Vergleich"
    ; aaa.exe aaa.exe kein unterschied also aaa.exe
    ; aaa.exe bbb.exe unterscheid also wird ein item angehängt aaa.exe
    ; bbb.exe ccc.exe unterscheid also wird ein item angehängt bbbexe
    ; bbb.exe ddd.exe unterscheid also wird ein item angehängt bbb.exe
    ; ccc.exe ccc.exe
    ; ddd.exe ddd.exe
    ; bbb.exe
    ; ccc.exe
    ; ddd.exe

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

    ;~ Func _Update($id)
    ;~ Local $lst = ProcessList()
    ;~ For $i = 1 To $lst[0][0]
    ;~ $PIDExists = _GUICtrlListView_GetItemText($ListView1, $i-1)
    ;~ If $PIDExists <> $lst[$i][0] Then
    ;~ GUICtrlCreateListViewItem($lst[$i][0], $id)
    ;~ EndIf
    ;~ Next
    ;~ EndFunc

    [/autoit]
  • In ListView Scrollen

    • Concara
    • 12. November 2009 um 17:23

    Hi!

    Sorry aber ich verstehe nicht ganz was du meinst.
    Wenn man in die Listview klickt dann kann man auch das Mausrad benutzen um zu scrollen.
    Aber bei dir werden nicht alle Daten angezeigt obwohl der Balken ganz nach unten gescrollt ist!?
    Oder funktioierte der Scrollbalken bei dir überhaupt nicht?
    Oder siehst du nicht alle Daten wenn du das Fenster in der Größe verändert hast?
    Mach einen Screenshot oder poste mal den Code.

  • In ListView Scrollen

    • Concara
    • 12. November 2009 um 16:28

    Hi!

    Hast du die Suche benuzt?
    Ich denke nicht!?
    Schau hier mal rein
    Automatisches scrollen in Listview

  • Scanner zum Scannen anschubsen

    • Concara
    • 12. November 2009 um 15:38

    Hi!

    Ich würde es nicht mit batchscan machen.
    1.) Steht in der Irfanviewhilfe etwas von simulieren bei dem Befehl
    2.) Batchscannen macht ja keinen Sinn da man da "normalerweise" beim Twain(treiber)oberfläche jedes mal auf scannen drücken muss, um das nächste Bild zu scannen.
    Sprich dient es dazu nicht jedesmal für jedes gescannte Bild extra einen Namen zu vergeben und auf Speichern zu klicken.

    Hast du es schon mal mit i_view32.exe /scanhidden /dpi=(200,200) /convert=c:\Bild.jpg probiert?

    Eventuell liegt es daran, das sich der Twaintreiber nicht schließt und deshalb auch IrfanView nicht geschlossen wird!(Beim Batchscann ist das sicher so)

    Aber vielleicht hat ja wer noch eine ganz andere Idee.

  • Scanner zum Scannen anschubsen

    • Concara
    • 12. November 2009 um 10:52

    HI!

    Da du deinen bisherigen Versuch nicht gepostet hast.
    Kann ich nur Vermutungen anstellen.
    Wahrscheinlich hast du sowas in der Art benutzt i_view32.exe /scanhidden /convert=c:\test.jpg !?
    Was genau bleibt dann da noch offen bzw. was beendet sich da nicht?
    Ich kann es leider nicht ausprobieren da ich keinen Scanner im Einsatz habe.
    Aber Irfanview ruft auch "nur" deinen installierten Twaintreiber auf.
    Vielleicht kannst du diesen auch direkt ansprechen!?

  • Scanner zum Scannen anschubsen

    • Concara
    • 12. November 2009 um 08:56

    Hi!

    Wenn du mit IrfanView das machst kannst du mit

    [autoit]

    WinClose ( "title" [, "text"] )

    [/autoit]

    das Fenster schließen.
    Oder du beendest es mit

    [autoit]

    ProcessClose ( "process")

    [/autoit]

    LG
    Concara

  • Dateien suchen die X Tage alt sind

    • Concara
    • 12. November 2009 um 08:47

    HI!

    Hier noch eine Version.
    Mit _FileListToArray($sPath[, $sFilter = "*"[, $iFlag = 0]]) .
    Bei diesem kannst du mit dem Flag angeben was du willst. 1 nur Files. 2 nur Ordner und wenn du es weg lässt alles Beide.

    LG
    Concara

    Spoiler anzeigen
    [autoit]


    #include <File.au3>
    #include <Date.au3>
    MsgBox(0,"",_clean("c:\temp\copy", 70))
    Func _clean($cleandir, $cleanday)
    Local $list, $hSearch, $afile, $sfile, $diff
    $hSearch = _FileListToArray($cleandir, "*", 1)
    If Not IsArray($hSearch) Then Return "Error: Keine Dateien vorhanden"
    If $hSearch[0] = "" Then Return "Error: Keine Dateien vorhanden"
    For $i = 1 To $hSearch[0]
    $afile = FileGetTime($cleandir & "\" & $hSearch[$i])
    $sfile = StringFormat("%04d/%02d/%02d %02d:%02d:%02d", $afile[0], $afile[1], $afile[2], $afile[3], $afile[4], $afile[5])
    $diff = _DateDiff( 'D',$sfile,_NowCalc())
    If $diff >= $cleanday then
    ;FileDelete($cleandir & "\" & $hSearch[$i])
    $list &= $hSearch[$i] & " " & $sfile & " " & $diff & @CR
    Endif
    Next
    If $list = "" Then $list = "Keine Dateien zum Löschen gefunden"
    Return $list
    EndFunc

    [/autoit]
  • Dateien suchen die X Tage alt sind

    • Concara
    • 11. November 2009 um 17:15

    Hi !

    Ich würde es mit FileGetTime ( "filename" [, option [, format]] ) machen, siehe Spoiler.

    Spoiler anzeigen
    [autoit]


    #include <Date.au3>
    MsgBox(0,"",_clean("c:\temp", 30))

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

    Func _clean($cleandir, $cleanday)
    $hSearch = FileFindFirstFile($cleandir & "\*.*")
    Local $list
    While (True)
    $file = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    $afile = FileGetTime($cleandir & "\" & $file)
    $sfile = StringFormat("%04d/%02d/%02d %02d:%02d:%02d", $afile[0], $afile[1], $afile[2], $afile[3], $afile[4], $afile[5])
    $diff = _DateDiff( 'D',$sfile,_NowCalc())
    If $Diff >= $cleanday then
    ;~ FileDelete($cleandir & "\" & $file)
    $list &= $file & " " & $sfile & " " & $diff & @CR
    Endif
    WEnd
    FileClose($hSearch)
    Return $list
    EndFunc

    [/autoit]


    ACHTUNG Bei dieser Funktion werden aber Verzeichnise auch mit einbezogen.
    Eventuell *.??? als such String verwenden.
    Endungen mit mehr als 3 Zeichen oder kleiner als 3 werden dann nicht berücksichtigt.


    Den Befehl _Date_Time_GetFileTime müsstes du so laut Hilfe benutzen.

    [autoit]


    ; Read file times
    $hFile = _WinAPI_CreateFile(@ScriptDir & "\Test.xyz", 2)
    if $hFile = 0 then _WinAPI_ShowError("Unable to open file")
    $aTime = _Date_Time_GetFileTime($hFile)
    _WinAPI_CloseHandle($hFile)

    [/autoit]
  • Einfügen eines Strings mit Zeilenumbrüchen in ein Edit Feld

    • Concara
    • 3. November 2009 um 23:26

    Hi!

    Ja hast recht.
    Ich habe es ca. 5 Minuten nachdem ich den Post geschrieben habe auch herausgefunden.
    Aber Danke.

    LG
    Concara

    Weiß noch jemand wie man beim Label eine Scrollleiste haben kann?

    [autoit]

    GUICtrlCreateLabel("Info", 250, 400, 300, 133, $WS_VSCROLL )

    [/autoit]

    $WS_VSCROLL erstellt zwar schön den Balken aber dieser ist ohne Funktion.

  • Einfügen eines Strings mit Zeilenumbrüchen in ein Edit Feld

    • Concara
    • 3. November 2009 um 23:02

    Hallo Leute!

    Ich habe ein Probelm mit einem GUICtrlCreateEdit.
    Ich lasse per #include <image_get_info.au3> Informatonen eines Bildes auslesen.
    Dies funktioniert auch.
    Wenn ich jetzt diesen String in ein Editfeld einfüge dann erhalte ich den String aber mit lauter Quadraten.
    Die Quatrate währen eigenlich die Zeilenumbrüche.
    Also wie schaffe ich es das das Editfeld diese Umbrüche auch als solche ausführt?

    Oder kennt jemand eine Möglichkeit ein Label mit einem Scrollbalken zu versehen der auch funktioniert.
    Denn ursprünglich wollte ich es in ein Label einfügen.
    Beim Label werden die Umbrüche ausgeführt.
    Aber ich habe in meiner Gui nicht den Platz, damit dann alle Informationen angezeigt werden.
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Label mit nicht funktionierendem Scrollbalken
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Editfeld mit den Quadraten
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Include

    Bilder

    • editfeld.jpg
      • 27,78 kB
      • 467 × 142
    • label.jpg
      • 26,11 kB
      • 479 × 150

    Dateien

    image_get_info.zip 5,72 kB – 442 Downloads
  • AU Shoot (2D Shooter in AutoIt)

    • Concara
    • 3. November 2009 um 22:46

    Hi!

    Ich stell mich auch gern als Tester zur Verfügung.
    Leider bin ich nicht sehr kreativ, deshalb wird es wohl wenn du willst, bei der Betatestunterstützung bleiben.
    Ich kann zwar etwas mit Paint.net umgehen aber mehr auch nicht.

    LG
    Concara

  • Programm zählt falsch

    • Concara
    • 22. Oktober 2009 um 16:45

    Hi!

    Ein paar Vorschläge.

    1.) in deine while Schleife ein Sleep(250) damit die CPU nicht auf 100% geht.
    2.) Deine Arrays könntest du mit Schleifen einlesen oder schau dir mal

    [autoit]

    IniReadSection ( "filename", "section" )

    [/autoit]

    an.
    3.) Kategorie nicht Katigorie
    4.) Bin ich noch nicht ganz durchgestiegen wie dein Script funktioniert

    Ich schau aber noch ein wenig weiter.
    lg
    Concara

    Edit:
    Deine Fagen.ini hat soweit ich das sehe auch einen Fehler. In der Section 3 der erste Wert(Key) ist gleich wie bei der 2 Section. Warum liest du das noch mal separat ein?
    Das ist doch die Fragenummer oder? Das hast du ja schon über die Section deiner Inidatei.
    Was stellt der 2 Wert(Key) dar? (sind das die zu vergebenen Punkte?)

    Spoiler anzeigen
    Code
    [Anzahl]
    Anzahl=3
    [1]
    1=1
    2=2
    3=<Frage1Teil1>
    4=<Frage1Teil2>
    5=<Antwort1>
    6=<Antwort2>
    7=<Antwort3>
    8=<Antwort4>
    [2]
    1=2
    2=3
    3=<Frage2Teil1>
    4=<Frage2Teil2>
    5=<Antwort1>
    6=<Antwort2>
    7=<Antwort3>
    8=<Antwort4>
    [3]
    1=2 ; sollte doch 3 sein oder?
    2=3
    3=<Frage3Teil1>
    4=<Frage3Teil2>
    5=<Antwort1>
    6=<Antwort2>
    7=<Antwort3>
    8=<Antwort4>
    Alles anzeigen
  • FTP Problem

    • Concara
    • 20. Oktober 2009 um 11:28

    HI!

    Dann liegt es sehr wahrscheinlich an der verwendeten ftp.au3

    Im Englischen Forum http://www.autoitscript.com/forum/index.php?showtopic=12473&st=240 kannst du dir eine aktuelle Version downloaden.

    ProgAndy hat da glaub ich sehr viel beigesteuert.

    LG
    Concara

  • Text aus Chatfenster bis Keyword auslesen

    • Concara
    • 20. Oktober 2009 um 10:12

    SEuBo
    Du willst nur deine Beitragsanzahl erhöhen. ;)
    dschihejns hat geschrieben, dass er des Autoiten mächtig ist.
    Somit nehme ich an hätte er das auch selber geschaft.
    Ich weiß ja noch nicht mal ob ihm das was hilft.

    So jetzt habe ich es auch geschaft mir einen Beitrag zu erschreiben. :whistling:

    P.S. nicht ernst nehmen SEuBo :D
    hoffendlich werde ich nicht wegen zuviel offtopic gemahnt :rofl:

  • Text aus Chatfenster bis Keyword auslesen

    • Concara
    • 20. Oktober 2009 um 09:10

    Hi!

    Ich kann mir nicht ganz vorstellen was du genau meinst.
    Aber ich würde es mit

    [autoit]

    $keyword = "Daswasdusuchst"
    $result = StringTrimLeft($Value[$i],StringInStr($Value[$i],$keyword,1)

    [/autoit]


    Versuchen

    LG
    Concara

  • Timerfunktion spinnt?

    • Concara
    • 19. Oktober 2009 um 18:02

    Hi!

    Hier eine Version von mir wie es dir eventuell zusagt.
    Wahrscheinlich gibt es "schönere" Lösungen.
    Aber sie funktioniert.

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <IE.au3>
    #Include <Timers.au3>
    $maxIdle_min = IniRead(@ScriptDir & "\test.ini", "Test", "Time", "" )
    $name = IniRead(@ScriptDir & "\test.ini", "Test", "Ap", "" )
    HotKeySet("{ESC}","Kill")
    Global Const $WS_EX_COMPOSITED = 0x02000000
    $gui = GUICreate("test",300,300,0,0, BitOR($WS_SIZEBOX, $WS_POPUPWINDOW, $WS_CLIPCHILDREN), BitOR($WS_EX_TOOLWINDOW, $WS_EX_COMPOSITED))
    GUISetState()
    GUISetState(@SW_MAXIMIZE)
    $GUISize = WinGetPos($gui)
    $eIE = _IECreateEmbedded()
    GUICtrlCreateObj($eIE, $GUISize[0], $GUISize[1], $GUISize[2], $GUISize[3])
    _IENavigate($eIE,IniRead(@ScriptDir & "\test.ini", "Test", "Path", "" ))
    dim $begin, $dif
    Do
    If Not WinActive("test") Then
    If Not $begin Then
    $begin = TimerInit()
    $dif = TimerDiff($begin)
    Else
    $dif = TimerDiff($begin)
    EndIf
    Else
    $begin = ""
    EndIf
    sleep(200)
    Until $dif > $maxIdle_min*10*1000
    Kill()
    Func Kill()
    WinActivate($name)
    WinSetState($name, "", @SW_RESTORE)
    Exit
    EndFunc

    [/autoit]
  • Timerfunktion spinnt?

    • Concara
    • 19. Oktober 2009 um 16:21

    Hi!

    Bei mir funktioniert das Script!
    Wenn ich die Maus nicht bewege, dann schließt das Fenster nach 10 Sekunden. (Ich habe zum Testen die Zeit etwas verkürzt)
    Wenn ich mit der Maus herumfahre dann passiert nichts. Das soll es ja oder!?
    Erst wenn sie wieder zum Stillstand für 10 Sekunden gekommen ist, schließt das Fenster.

    Was soll den nicht funktionieren?

  • Was habe ich flasch gemacht?:(

    • Concara
    • 19. Oktober 2009 um 13:23

    Hi!

    Bitte schau dir das hier mal an.

    http://www.autoit.de/index.php?page=Forumrules

  • Script funktioniert nicht immer. Warum?

    • Concara
    • 19. Oktober 2009 um 12:08

    HI!

    Probiers mal mit.

    [autoit]


    #include <Timers.au3>
    $maxIdle_min = 1

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

    Do
    sleep(200)
    $timer = _Timer_GetIdleTime()
    Until $timer > $maxIdle_min*60*1000

    [/autoit]
  • Millisekunden in Sekunden umrechnen??

    • Concara
    • 19. Oktober 2009 um 11:43

    HI!

    Wie meinst den das!?
    Willst dann immer $zeit * 2 z.B. eingeben.
    Was hat das für einen Sinn?

    [autoit]


    $zeit = 5
    $zeit = $zeit * 1000
    MsgBox(0,"Keine Ahnung was das soll", $zeit/1000 & ':"Sekunden"', $zeit)

    [/autoit]

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™