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 ![]()
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 ![]()
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 ![]()
Englisch kommt denke ich noch dazu.
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.
Nichts großes, aber es wirkt. ![]()
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.
Leute? Wer lesen kann, ist im Vorteil.
Keine Bots. -.-"
"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 (= "")
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 ![]()
DriveGetDrive ( "type" )
[/autoit] ZitatType of drive to find:
"ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK", or "UNKNOWN"
Hilfe evtl mal lesen.
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
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.
$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
;Zum zeigen/verstecken
If ProcessExists($Run) Then
WinSetState($Run, "", @SW_SHOW) ;Oder halt Hide
EndIf
Wenn ich mich nicht irre.
Im Browser geschrieben ![]()
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
Wäre diese Version nicht noch besser für den CPU?
[autoit]
$Gui1 = GUICreate("",200,200,300,300)
GUISetState()
$Old_Stat = WinGetPos($Gui1)
[/autoit][autoit][/autoit][autoit]$Gui2 = GUICreate("",200,200,$Old_Stat[0] + 200, $Old_Stat[1] + 200)
GUISetState()
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
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):
;==============================================================
; 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
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):
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)
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
For $i = 1 To UBound($Handle) - 1
$Text[$i] = ControlGetText($Handle[$i], "", $Handle[$i])
Next
Frage ist nur, wie kann ich diese immer vergleichen?
Die handle reinfolge etc ändert sich sobald ein neues Fenster exisitiert oder ähnliches. o_O
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
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
Bumb, grad gemerkt ich habe vor ewigkeiten schon ein Topic hier gemacht o_O
Genau das hab ich vorhin gesucht.
Aber hey, mein Weg geht auch x:
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