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

Beiträge von Sen

  • 2 ToolTips gleichzeitig anzeigen

    • Sen
    • 21. Oktober 2010 um 19:16

    Geht denke ich nur durch 2 GUI's mit Labels die du vorher auf Hide stellst,
    dann bei Aufruf die Texte änderst & auf Show wechselst.

    Korrigiert mich wenn ich falsch liege :D

  • Badword_Check()

    • Sen
    • 21. Oktober 2010 um 19:13

    Ist durchaus keine "Kickliste".
    Sie wird nur benutzt um ein kleines "OP Warnung" bei den Operatoren
    zum blinken zu bringen. Ihr könnt sie ja noch anpassen wenn ihr's anders braucht :P

    Englisch kommt denke ich noch dazu.

  • Badword_Check()

    • Sen
    • 21. Oktober 2010 um 15:28

    Da ich im Moment an Chat Add-Ons bastel und eine Func brauchte die
    bei Badword eine Narchicht auf dem PC eines Operators anzeigt hab
    ich eine kleine Funktion gebastelt zum checken von Badwords.
    Sind bis jetzt nur Deutsche, evtl kommen noch 8.000+ englische dazu.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Nichts großes, aber es wirkt. :P

    Dateien

    Badword Check.zip 37,55 kB – 435 Downloads
  • GUISetOnEvent vs. GUIGetMsg

    • Sen
    • 20. Oktober 2010 um 17:25

    Auch ohne Sleep ist die GUI nicht immer über Events erreichbar.
    Längere Funktionen können Events auch komplett blocken.

    Grundsätzlich liegen beide bei der CPU Auslastung (Und Auslastung an sich)
    relativ gleich. OnEvent ist ein Stück mehr Code denke ich, wirkt aber "schneller".

    Denke mal jeder Anfänger arbeitet mit GetMsg & wechselt später
    wenn er weiß seinen Code zu sortieren auf OnEvent.

  • Internet Explorer schließt nicht

    • Sen
    • 18. Oktober 2010 um 20:52

    Leute? Wer lesen kann, ist im Vorteil.
    Keine Bots. -.-"

  • PlutoBubble

    • Sen
    • 8. Oktober 2010 um 16:41

    "PlutoBubble" schimpft sich nur das Tool an dem ich arbeite.
    Ein Add-On für einen Chatclienten genannt "Pluto"

    Download: http://pluto.brain-killer.org/

    Das Problem ist halt das sich die Insancen jedes mal ändern, genau wie die Reinfolge der
    Handle wenn ich sie abfrage & die ID läss sich nicht abfragen (= "")

  • CDROM Laufwerk ermitteln

    • Sen
    • 8. Oktober 2010 um 16:22

    Sollte. Allerdings nicht getestet.

    Auch wenn ich nicht versehe wieso du das hier fragst wenn das testen selbst nur einen Bruchteil
    der Zeit kosten würde :rofl:

  • CDROM Laufwerk ermitteln

    • Sen
    • 8. Oktober 2010 um 16:20
    [autoit]

    DriveGetDrive ( "type" )

    [/autoit]
    Zitat

    Type of drive to find:
    "ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK", or "UNKNOWN"

    Hilfe evtl mal lesen.

  • PlutoBubble

    • Sen
    • 8. Oktober 2010 um 16:14

    Schon überlegt.
    Aber alle Versuche die ID abzufragen geben nur " " zurück.
    Auch Au3Info gib nichts zurück.

    Die Handle bleiben gleich, die Instancen verändern sich (sogar relativ fix, bei jeder aktualisierung?)

    Frage wäre wie ich die Handle die ich in einem Array habe

    Beispiel eines Arrays den ich abfragen kann:
    [0]|7 ;Anzahl Räume+Dias
    [1]|0x000F0776
    [2]|0x0009075A
    [3]|0x00030420
    [4]|0x00020644
    [5]|0x00040624
    [6]|0x00010714
    [7]|0x00010602

    Jedes Handle is ein Raum oder Dialog.
    Das Problem ist, wie kann ich diese jezt noch vergleichen?
    Beim abfragen ändert sich Reinfolge etc jedes mal o_O

  • PlutoBubble

    • Sen
    • 8. Oktober 2010 um 15:47

    Bumb' <3

  • Eingabe bis zur Eingabe von Passwort blocken?

    • Sen
    • 7. Oktober 2010 um 18:22

    Such mal hier im Board nach "DeskLock" für ein paar möglichkeiten
    zum sperren des PC's.

    Alternativ auf meiner Seite (Ohne Source):
    http://sensidethink.de/ -> Downloads.

  • @SW_HIDE Fenster wieder in den Vordergrund bringen

    • Sen
    • 7. Oktober 2010 um 15:14
    [autoit]

    $Run = Run('C:\AppFiles\decode.bat "' & GUICtrlRead($i_BATFile) & '"', 'C:\AppFiles'@SW_HIDE)

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

    ;Zum beenden
    If ProcessExists($Run) Then
    ProcessClose($Run)
    EndIf

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

    ;Zum zeigen/verstecken
    If ProcessExists($Run) Then
    WinSetState($Run, "", @SW_SHOW) ;Oder halt Hide
    EndIf

    [/autoit]

    Wenn ich mich nicht irre.
    Im Browser geschrieben :P

  • 2 GUI's gleichzeitigverschieben

    • Sen
    • 7. Oktober 2010 um 12:25

    Ich denke mal das WinPos die neue Position erst erkennt wenn man das Fenster "los lässt" oder?
    Dann lässt sichs denke ich mal gar nicht anders machen oder? o_O

  • 2 GUI's gleichzeitigverschieben

    • Sen
    • 7. Oktober 2010 um 12:21

    Wäre diese Version nicht noch besser für den CPU?

    [autoit]


    $Gui1 = GUICreate("",200,200,300,300)
    GUISetState()

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

    $Old_Stat = WinGetPos($Gui1)

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

    $Gui2 = GUICreate("",200,200,$Old_Stat[0] + 200, $Old_Stat[1] + 200)
    GUISetState()

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

    While 1
    If $Old_Stat <> WinGetPos($Gui1) Then
    $Old_Stat = WinGetPos($Gui1)
    WinMove($Gui2, "", $Old_Stat[0] + 215, $Old_Stat[1])
    EndIf
    Sleep(10)
    WEnd

    [/autoit]
  • PlutoBubble

    • Sen
    • 7. Oktober 2010 um 11:19

    Okay, da mir ein eigener Client für Spin zuviel wird arbeite ich an kleineren Add-Ons.
    Nur hänge ich gerade beim abfragen von Pluto :/

    Vorhaben:
    Es handelt sich um einen Chatclienten AddOn, ich will nur die Texte aller Fenster
    abfragen & eine Narchicht ausgeben wenn sich der Text geändert hat (Neue Narchicht).
    Das mit dem Abfragen etc klappt alles, aber so wie ich es oben mit den Commands habe fragt
    er nur das aktive Fenster ab. Gibt es eine möglichkeit alle Fenster abzufragen?

    Sourcecode für das aktive Fenster (geht bugfrei):

    Spoiler anzeigen
    [autoit]

    ;==============================================================
    ; PlutoBubble
    ;==============================================================
    ; Author: Sen
    ;==============================================================
    #include <String.au3>
    #include <GUIConstantsEx.au3>
    #Include <Constants.au3>

    ;Options
    Opt("TrayAutoPause", 0)
    Opt("TrayMenuMode", 3)
    $RunStatus = True
    $TrayStatus = False

    ;Check & Run Pluto
    If ProcessExists("PLUTO.EXE") Then
    Sleep(50)
    Else
    Run("PLUTO.EXE")
    EndIf

    ;Tray Msgs & Menü
    $Tray = TrayCreateMenu("Status")
    $On = TrayCreateItem("On", $Tray)
    $Off = TrayCreateItem("Off", $Tray)
    $Exit = TrayCreateItem("Exit")
    TrayItemSetState($On, $TRAY_DISABLE)

    AdlibRegister("MsgSystem", 500)
    $Msgs = ControlGetText("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:1]")

    While True
    Sleep(50)
    $TrayMsg = TrayGetMsg()
    Switch $TrayMsg
    Case $On
    $RunStatus = True
    TrayItemSetState($On, $TRAY_DISABLE)
    TrayItemSetState($Off, $TRAY_ENABLE)
    Case $Off
    $RunStatus = False
    TrayItemSetState($Off, $TRAY_DISABLE)
    TrayItemSetState($On, $TRAY_ENABLE)
    Case $Exit
    Exit
    EndSwitch

    If Not ProcessExists("PLUTO.EXE") Then
    Exit
    EndIf

    If WinActive("Pluto Client") And $TrayStatus = True Then
    TrayTip("PlutoBubble", "", 0)
    $TrayStatus = False
    EndIf
    WEnd

    Func MsgSystem()
    If $RunStatus = True Then
    $NewMsgs = ControlGetText("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:1]")
    If $NewMsgs <> $Msgs Then
    $Splittext = StringSplit($NewMsgs, @CRLF, 1)
    $LastLine = $Splittext[$Splittext[0] - 1]
    If GetImportant($LastLine) = 1 Then
    If Not WinActive("Pluto Client") Then
    If WroteUser($LastLine) = 1 Then
    $Info = GetUserAndMessage($LastLine)
    TrayTip($Info[0], $Info[1], 5, 1)
    $TrayStatus = True
    Else
    $Info = GetUserAndMessage($LastLine)
    TrayTip($Info[0], $Info[1], 5, 16)
    $TrayStatus = True
    EndIf
    Else
    TrayTip("PlutoBubble", "", 0)
    $TrayStatus = False
    EndIf
    EndIf
    $Msgs = ControlGetText("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:1]")

    EndIf
    EndIf
    EndFunc ;==>MsgSystem

    Func GetImportant($Line)
    If StringLeft($Line, 1) = "[" And StringRight($Line, 1) = "]" Then
    Return ("0 - Join/Leave")
    ElseIf StringRight($Line, 3) = ":f:" Or StringRight($Line, 3) = ":m:" Then
    Return ("0 - Join/male-female")
    ElseIf WroteUser($Line) = 1 Then
    Return ("0 - User himself")
    Else
    Return (1)
    EndIf
    EndFunc ;==>GetImportant

    Func WroteUser($Line)
    $FullTitel = WinGetTitle("Pluto Client")
    $Username = _StringBetween($FullTitel, "Pluto Client FE buildID 0036 (", ")")
    If StringInStr($Line, $Username[0]) Then
    Return (1)
    Else
    Return (0)
    EndIf
    EndFunc ;==>WroteUser

    Func GetUserAndMessage($Line)
    $UserString = StringSplit($Line, ":", 1)
    $User_Msg = $UserString[1]
    $Message_Msg = ""
    For $i = 2 To $UserString[0]
    $Message_Msg &= ":" & $UserString[$i]
    Next
    $Message_Msg = StringTrimLeft($Message_Msg, 2)
    Dim $Return[2]
    $Return[0] = $User_Msg
    $Return[1] = $Message_Msg
    Return ($Return)
    EndFunc ;==>GetUserAndMessage

    [/autoit]

    Command zum Abfragen des Handel's:

    [autoit]

    ControlGetHandle("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:1]")

    [/autoit]


    Command zum Abfragen des Text's (ohne das Handle zu benutzen):

    [autoit]

    ControlGetText("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:1]")

    [/autoit]

    Probleme:
    1. Die "Instance" scheint sich dauernd zu ändern.
    2. Die Anzahl der Conrol's die abgefragt werden müssen ändert sich und ich finde keinen Weg sie abzufragen.

    Jemand eine Idee wie man die Anzahl der Controls abfragen kann & alle in einer Schleife vergleichen
    kann anstelle des aktiven? :/

    Edit:
    Hab jezt raus wie ich die texte aus allen Räumen abfragen kann.
    (Grobes Beispiel, ignoriert die nicht passenden Arrays etc xD)

    [autoit]

    For $i = 1 To 40
    If ControlGetHandle("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:" & $i & "]") <> "" Then
    $Handle[$i] = ControlGetHandle("[CLASS:ThunderRT5MDIForm]", "", "[CLASS:RichEdit20A; INSTANCE:" & $i & "]")
    Else
    $Handle[0] = $i - 1
    ReDim $Handle[$i]
    ExitLoop
    EndIf
    Next

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

    For $i = 1 To UBound($Handle) - 1
    $Text[$i] = ControlGetText($Handle[$i], "", $Handle[$i])
    Next

    [/autoit]

    Frage ist nur, wie kann ich diese immer vergleichen?
    Die handle reinfolge etc ändert sich sobald ein neues Fenster exisitiert oder ähnliches. o_O

  • Spin.de Client

    • Sen
    • 4. Oktober 2010 um 09:30

    Nicht ganz.
    Da das ganze schon über AutoIt laufen soll hab werd ichs wohl schon selbst coden.
    Ich brauch nur ein wenig Hilfe von jemandem der Java kann & sich den Chat mal angucken kann.
    Coden tu ichs dann schon selbst ;P

  • Spin.de Client

    • Sen
    • 4. Oktober 2010 um 09:24

    Ich brauche eigentlich nur einen Weg mich einzuloggen und narchichen empfangen/senden zu können
    an Räume & Dias. Der ganze GUI Kram besteht schon und läuft auch. (Über TCP narchichten getestet)
    Das Problem ist nur das ich 0 Java kann :b

  • Spin.de Client

    • Sen
    • 4. Oktober 2010 um 09:15

    Bumb, grad gemerkt ich habe vor ewigkeiten schon ein Topic hier gemacht o_O

  • Maximiertes Fenster erkenne + Portfrage

    • Sen
    • 4. Oktober 2010 um 08:26

    Genau das hab ich vorhin gesucht. :rofl:
    Aber hey, mein Weg geht auch x:

  • Maximiertes Fenster erkenne + Portfrage

    • Sen
    • 4. Oktober 2010 um 06:58

    Für das Vollbild Fenster: WinList & WinActive ?

    Dachte eigentlich es gab mal ne WinGetActive Func o_O

    Edit: Auf die schnelle gecodet.

    [autoit]

    ConsoleWrite(WinGetActive() & @CRLF)

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

    Func WinGetActive()
    $Windows = WinList()
    For $i = 1 To $Windows[0][0]
    If WinActive($Windows[$i][0]) <> 0 Then
    $Result = WinGetTitle($Windows[$i][0])
    Return($Result)
    EndIf
    Next
    EndFunc ;==>WinGetActive

    [/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™