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

Beiträge von Lottich

  • Select Deselect

    • Lottich
    • 1. März 2012 um 15:30
    Zitat von chip

    Lottich wenn man schon was schreibt dann sollte man es vorher wenigstens testen ;).


    Verdammt. Dabei klingt es ja eigentlich logisch. Wenn ich nen Text markiere und dann ne Pfeiltaste drück, dann verschwindet bei mir zumindest die Markierung. Aber was solls, hab ich zumindest meiner Userbeschreibung alle Ehre gemacht :rolleyes:

  • Select Deselect

    • Lottich
    • 1. März 2012 um 13:57

    Ich würd nicht @TAB nutzen, sondern ne Pfeiltaste senden.

    [autoit]

    Send("{DOWN}")

    [/autoit]
  • Probleme mit "For ... Next - Schleife"

    • Lottich
    • 14. Februar 2012 um 20:03

    Okay, verstanden. Genauer lesen ... :S:huh:

  • Probleme mit "For ... Next - Schleife"

    • Lottich
    • 14. Februar 2012 um 18:38
    Zitat von peethebee

    Die For-Schleife zählt selbst (standardmäßig pro Durchlauf um 1 hoch, anpassbar mit for $i = 1 to 10 Step 3), entferne also

    [autoit]

    $i=$i+1

    [/autoit]

    Johannes


    Hey

    Vielen Dank!! :thumbup: Das steht aber nicht in der Hilfe?! :P


    Edit: Und dir natürlich auch optimizer

  • Probleme mit "For ... Next - Schleife"

    • Lottich
    • 14. Februar 2012 um 18:26

    Hey Dudes,

    Spoiler anzeigen
    [autoit]


    #include <_ntservices.au3>
    #include <File.au3>
    Global $ini = "X:\...\needs\server.ini"
    Global $logfile = "X:\...\loggs\logfile.cfg"

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

    $Dienst = IniRead($ini, "Server 0", "Dienstname TS3", "")
    _servicestop($dienst)
    $dienst_status = _ServiceStatus($Dienst)
    While $dienst_status <> "Stopped"
    Sleep(100)
    WEnd
    _FileWriteLog($logfile,"der TS3 Server wurde beendet...")

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

    $i= 1
    For $i = 1 To 5
    $Server = "Server " & $i ; legt die entsprechende Sektion fest (gewollt von 1 bis einschliesslich 5
    $Name = IniRead($ini, $Server, "Name des Buttons", "") ; dient der Übersicht im logfile
    $Dienst = IniRead($ini, $Server, "Dienstname MAM", "") ; der Dienstname in der gewollten INI-Sektion
    _servicestop($dienst)
    $dienst_status = _ServiceStatus($Dienst)
    While $dienst_status <> "Stopped"
    Sleep(100)
    WEnd
    _FileWriteLog($logfile,"ManuAdminMod beendet vom Server: " & $Name)
    Sleep(1000); reingebaut, damit es nicht zu schnell ist
    $i=$i+1
    Next
    _FileWriteLog($logfile,"Alle Dienste wurden gestoppt" & @LF)

    [/autoit]


    Eigentlich funktioniert dieser Code, allerdings werden die Sektionen der INI ausgelassen, wo $i eine gerade Zahl wird (sprich 2 und 4).
    Die Dienste der Sektionen "Server 1", "Server 3" und "Server 5" werden jeweils erfolgreich gestoppt.
    Warum "Server 2" und "Server 4" nicht?

    Bin wie immer ratlos und baue auf Eure Hilfe.

    mfG Lottich

  • Explorer startet nicht mehr

    • Lottich
    • 14. Januar 2012 um 19:48

    nee, funzt wirklich nicht. Auch nachdem ich die tatsächliche Exe starte. sobald der explorer mit deiner Methode beendet wird startet der wieder neu.

  • Explorer startet nicht mehr

    • Lottich
    • 14. Januar 2012 um 19:09

    [quote='Krabat','index.php?page=Thread&postID=244352#post244352']warum beendest du den explorer via Console?

    [autoit]


    ProcessClose("explorer.exe")
    Sleep(200)
    ShellExecuteWait("cossacks.lnk","","D:\Cossacks - Back To War")

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

    Run("explorer.exe")

    [/autoit]


    so wird es leider nicht gehen, denn unmittelbar nach dem normalen ProcessClose startet sich der Explorer wieder neu. Geht also nur über der von mir verwendeten Befehlszeile.
    Und der Befehl Run("explorer.exe") funzt leider auch nicht.
    Aber danke trotzdem.

  • Explorer startet nicht mehr

    • Lottich
    • 14. Januar 2012 um 18:50

    Hey all,

    aus nostalgischen Gründen hab mich mir wieder mein altes (und lieb gewonnenes) Cossacks installiert. Das ist ein Game von 2002 glaub ich. Leider ist es mit Win7 x64 nicht ganz kompatibel.
    Damit man es vernünftig spielen kann, sollte es im "Kompatibel-Mode: XP-SP3" ausgeführt werden. Das klappt ja alles. Aber dann treten zusätzlich noch Probleme mit der Farbdarstellung aus.

    Lösung hierfür:
    Starte das Game OHNE den explorer.exe-Prozess
    also beende ich diesen hiermit

    [autoit]

    RunWait('"' & @ComSpec & '" /c taskkill /F /IM explorer.exe', '')

    [/autoit]


    Dann starte ich die "Cossacks.lnk" und das Game startet auch endlich so wie es soll, ohne grafische Fehler.

    Aber:
    Sobald ich das Game beende, will ich, dass der Explorer wieder gestartet wird, aber irgendwie will das nicht so wie ich.
    Kann mir jemand nen Tip geben?

    Mein Code bis jetzt

    [autoit]

    RunWait('"' & @ComSpec & '" /c taskkill /F /IM explorer.exe', '')
    Sleep(200)
    ShellExecuteWait("cossacks.lnk","","D:\Cossacks - Back To War")
    ;~ ShellExecute("explorer.exe","",@WindowsDir)
    ;~ Run('"' & @ComSpec & '" /c start explorer.exe', '', @SW_HIDE)

    [/autoit]


    die beiden auskommentierten Zeilen funktionieren beide nicht

  • Jahreswechsel

    • Lottich
    • 1. Januar 2012 um 03:15

    Auch von mir ein erfolgreiches und gesundes neues Jahr. :party:

    beste Grüßr vom Lottich

  • Variable intern ablegen

    • Lottich
    • 14. Dezember 2011 um 13:41

    Ich selber hab ein Programm, das "intern" den Status von 4 globalen Variablen abfragt und setzt. Und das funktioniert bisher genau wie gewollt.

    bei Programmstart werden die besagten Variablen global deklariert. Anschliessend, je nach einstellung, die vorgenommen werden, werden den Variablen Werte zugewiesen, die dann im weiteren Verlauf ausgelesen und durch eine Select-Case-Schleife gejagt um die entsprechend gewünschten Funktionen zu starten.... ist also möglich.

  • server online stellen

    • Lottich
    • 11. Dezember 2011 um 19:50
    Zitat von Lupar

    @manuel6000

    wie kommst du eigentlich hier her? :pinch: :pinch: :pinch:

    +1

    oder du opferst monatlich Kohle und holst dir dein eigenen Root... dann siehst du auch, was das für Arbeit mit sich bringt und wirst verstehen, wie "schwachsinnig" deine Bitte hier ist.

  • server online stellen

    • Lottich
    • 11. Dezember 2011 um 18:04
    Zitat von manuel6000

    Will mit Autoit ein online Spiel programmieren,aber will nicht das mein Pc dafür 24 Stunden am tag aktiviert sein muss. Gibt es eine Möglichkeit den Server irgendwo online zu stellen wo ich ihn auch jederzeit deaktivieren und ersetzten kann und es sollte gratis sein. 8)

    Zitat von manuel6000

    aber das wird doch irgendwie gehen das ich meine server.exe gratis irgendwo unterbringe und der dann da läuft

    Zitat von manuel6000

    bitte darf ich sie auf deiner starten ist sicher kein virus frag ein paar leute ich mach sowas nicht.


    loooool :rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl::thumbup::thumbup::thumbup:

    Alter, wovon träumst du nachts?????

    Das ist ja an Dreistigkeit kaum zu übertreffen!! Hast du eigentlich ne Ahnung, was du da verlangst??
    Niemand, der bei klarem Verstand ist, wird deinem Wunsch nachkommen!!!
    Server kosten Geld und jeder, der nen Server hat wird nen Teufel tun und hier irgend ein Risiko eingehen.

    Mal ehrlich, ist das zu fassen????

  • Um bestimmte Uhrzeit Programm ausführen

    • Lottich
    • 9. Dezember 2011 um 14:29
    Zitat von Ahriman

    ich möchte dass AutoIT um eine bestimmte Uhrzeit (Systemzeit) ein Programm ausführt


    Das waren die Worte des Thread-Erstellers. Wer lesen kann.... nicht wahr?

    ich zB hab auch ein Unter-Programm geschrieben, dass ich zu einer best. Zeit von einem Ober-Programm starten lasse. Im Ober-Programm hab ich 2 Felder wo ich die Uhrzeit reinschreiben kann.
    Und dann klappts auch mit der Nachbarin, nämlich einwandfrei....

  • Um bestimmte Uhrzeit Programm ausführen

    • Lottich
    • 8. Dezember 2011 um 14:37

    hoffe das hilft weiter

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    func _starte_Programm()
    $stunde = 16
    $minute = 30
    $sekunde = 00

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

    if @hour = $stunde and @min = $minute and @sec = $sekunde then
    sleep(1000)
    shellexecute( blablabla ); hier muss natürlich vernünftiger Code rein
    else
    sleep(1000)
    endfunc

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

    while 1
    sleep (1000)
    _starte_Programm()
    wend

    [/autoit]

    Das sollte eigentlich funktionieren, aber grad nicht getestet.

  • ein Control direkt in der Taskleiste anzeigen... aber wie?

    • Lottich
    • 11. November 2011 um 12:00

    Was denn??? nichtmal irgend welche unsinnigen Kommentare?

  • ein Control direkt in der Taskleiste anzeigen... aber wie?

    • Lottich
    • 9. November 2011 um 22:01

    keiner ne Idee? :S

  • ein Control direkt in der Taskleiste anzeigen... aber wie?

    • Lottich
    • 6. November 2011 um 16:17

    Okay, und schon komm ich nicht weiter.

    das hier ist mein TestScript

    [autoit]


    #include <ANYGUI2.au3>
    ;~ #include <ANYGUI.au3>

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

    WinMinimizeAll()
    $h_taskbar = _GuiTarget("", 0, "Start", "ToolbarWindow322")
    ;~ $h_taskbar = _GuiTarget("", 0, "Start", "40965")
    $a_info = _TargetaddCombo ("", 575, 0, 100, 120, -1, -1, $h_taskbar)
    GUICtrlSetData($a_info[0], "test1|test2|test3", "test2")
    GUISetState(@SW_SHOW, $a_info[2])
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]


    Laut Anleitung im Internet soll man in der ANYGUI eine kleine Änderung vornehmen damit es für diesen Fall funktioniert.
    Deshalb steht bei mir #include <ANYGUI2.au3>
    Falls die Änderung zum Nachvollziehen wichtig ist:

    Code
    $hWnd = WinGetHandle($wintitle)
     If Not ($controlid = 0) Then $hWnd = ControlGetHandle($wintitle, $wintext, $controlid)

    geändert zu:

    Code
    If @NumParams = 4 Then 
            $hWnd = ControlGetHandle($wintitle, $wintext, $controlid)
        Else
            $hWnd = WinGetHandle($wintitle)
    EndIf


    Bei der Syntax-Prüfung (strg+F5) werden mir keine Fehler angezeigt. Aber sobald ich das Script ausführe krieg ich ne Fehlermeldung in der Console

    Code
    >Running:(3.3.6.1):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\Users\Lottich\Desktop\AutoIt v3 Script (neu) (4).au3"    
    could not get hwnd
    invalid or nonexisting target hwnd
    C:\Users\Lottich\Desktop\AutoIt v3 Script (neu) (4).au3 (8) : ==> Subscript used with non-Array variable.:
    GUICtrlSetData($a_info[0], "test1|test2|test3", "test2")
    GUICtrlSetData($a_info^ ERROR
    ->15:53:42 AutoIT3.exe ended.rc:1
    >Exit code: 1    Time: 3.164


    Nach dieser Consolenmeldung hab ich in der ANYGUI.au3 nachgesehen:

    Spoiler anzeigen
    [autoit]

    Func _GuiTarget($wintitle, $mode = 0, $wintext = 0, $controlid = 0)
    Local $hWnd
    WinWait($wintitle)
    If @NumParams = 4 Then
    $hWnd = ControlGetHandle($wintitle, $wintext, $controlid)
    Else
    $hWnd = WinGetHandle($wintitle)
    EndIf
    If Not ($controlid = 0) Then
    Select
    Case IsArray($controlid)
    $ctlhwnd = DllCall("user32.dll", "hwnd", "ChildWindowFromPoint", "hwnd", $hWnd, "int", $controlid[0], "int", $controlid[1])
    If IsHWnd($ctlhwnd[0]) And $ctlhwnd[0] <> 0x00000000 And $ctlhwnd[0] <> $hWnd Then;checks for valid control hwnd
    $ID = DllCall("User32.dll", "int", "GetDlgCtrlID", "hwnd", $ctlhwnd[0])
    ConsoleWrite("ControlId = " & $ID[0] & @CRLF)
    $hWnd = $ctlhwnd[0]
    Else
    ConsoleWrite("invalid coordinates" & "(" & $controlid[0] & " ," & $controlid[1] & ")" & @CRLF)
    Exit
    EndIf
    Case Else
    $hWnd = ControlGetHandle($wintitle, $wintext, $controlid)
    EndSelect
    EndIf
    If Not IsHWnd($hWnd) Then SetError(1)
    Select
    Case @error = 1
    ConsoleWrite("could not get hwnd" & @CRLF)
    _EndTarget()
    Return 0
    Case $mode = 1
    Global $TargethWnd = $hWnd
    Return $TargethWnd
    Case Else
    Local $LocTargethWnd = $hWnd
    Return $LocTargethWnd
    EndSelect
    EndFunc ;==>_GuiTarget

    [/autoit]


    Das ist hier extrem eingemachtes und ich steig nicht wirklich durch... fakt ist, dass $hWnd nicht gefunden wird weil nicht existent/ungültig.
    Deshalb hab ich versucht, mittels AutoIt Window Info, die richtige ControlID zu finden, aber das funzt alles nicht...

  • ein Control direkt in der Taskleiste anzeigen... aber wie?

    • Lottich
    • 6. November 2011 um 03:38

    hi i2c

    bei diesem Link war ich bereits und hab mir auch die nötigen Files besorgt. Allerdings ist die GUIList.au3 offenbar unvollständig/fehlerhaft. Krieg da immer Warnungen und Fehlermeldungen.

    Spoiler anzeigen
    Code
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(110,52) : WARNING: $DDL_DIRECTORY: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_DIRECTORY
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(116,49) : WARNING: $DDL_HIDDEN: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_HIDDEN
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(122,51) : WARNING: $DDL_READONLY: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_READONLY
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(128,52) : WARNING: $DDL_READWRITE: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_READWRITE
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(134,49) : WARNING: $DDL_SYSTEM: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_SYSTEM
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(142,49) : WARNING: $DDL_DRIVES: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_DRIVES
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(148,52) : WARNING: $DDL_EXCLUSIVE: possibly used before declaration.
    					$v_Attributes = $v_Attributes + $DDL_EXCLUSIVE
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\ANYGUIv2.8.au3(116,70) : WARNING: $WS_CHILD: possibly used before declaration.
    		Local $a = GUICreate($text, $SizeX, $SizeY, $PosX, $PosY, $WS_CHILD,
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\ANYGUIv2.8.au3(1005,33) : WARNING: $WM_USER: possibly used before declaration.
    Const $DL_BEGINDRAG = ($WM_USER +
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(110,52) : ERROR: $DDL_DIRECTORY: undeclared global variable.
    					$v_Attributes = $v_Attributes + $DDL_DIRECTORY
    					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(97,44) : ERROR: _IsClassName(): undefined function.
    	If Not _IsClassName ($h_listbox, "ListBox")
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Program Files (x86)\AutoIt3\Include\guilist.au3(181,84) : ERROR: _SendMessage(): undefined function.
    			Return _SendMessage($h_listbox, $LB_DIR, $v_Attributes, $s_file, 0, "int", "str")
    Alles anzeigen


    Da fehlen mir 2 Funktionen und Variablen sind nicht korrekt.

    Hat evtl jemand eine funktionierende?


    Edit:
    Hab nen Link mit funktionierender AnyGui.au3 hier im Forum gefunden ^^ nach gut 3 Stunden
    hier der Link

    Mal sehen wie weit ich ohne Hilfe komme :D

  • ein Control direkt in der Taskleiste anzeigen... aber wie?

    • Lottich
    • 6. November 2011 um 03:29

    Hallo

    Ich versuche ein Programm von mir weiter zu entwickeln. Bisher ist das in ner relativ normalen GUI. Auf Anregung/Anfrage einiger Nutzer soll ich versuchen,
    Das "Ding" irgendwie in die Taskleiste zu bekommen. zum Beispiel wie beim Programm "NetSpeedMonitor".
    Ich würd das dann so umschreiben, dass daraus keine GUI mit Buttons mehr ist, sondern eine ComboBox mit ner Dropdown(/-up)Funktion.

    Aber wie soll ich das anfangen? Wie krieg ich ne Combobox in die Taskleiste?

  • hilfe bei Protokoll-Erstellung nötig

    • Lottich
    • 31. Oktober 2011 um 16:31
    Zitat von water

    Wenn Du Zweifel über die Funktion von Autoit hast, dann würde ich dringend einen Blick in die Hilfe empfehlen!

    Die Hilfe ist mein ständiger Begleiter 8)
    Allerdings ist die ja sowas von umfangreich und komplex, dass sie einen fast erschlägt :D

    Und nebenbei bemerkt, bin ich nicht mehr ganz so ein blutiger Anfänger und hab mir tatsächlich schon die eine oder andere Funktion erfolgreich geschrieben...
    Das einzige wo ich mich noch nicht wirklich ran traue sind Arrays und diese DLLcalls

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™