hallo,
leider habe ich große probleme mit den o.g. funktionen (_SendMessage/ControlSend)
ich benutze die befehle um auf meinem rechner befehle eine console zu schicken und lese dann das log aus.
das script rennt also permanent alle 25 sekunden.
leider freezt jedes mal für ca. 1-1/2 sekunde eine andere, performancelastige anwendung die ich nebenbei nutze...
und zwar ist das generell so auf allen rechnern.(kein system bezogens problem)
es ist/sind auch nur diese/r befehl/e der/die das verursach/t/en... ich habe diese beiden befehls-alternativen versucht weil ich gehofft hatte,
dass ein befehl davon weniger lags erzeugt ... leider war dem nicht so
es wäre toll wenn jemand eine problemlösung hätte.
um es gleich vor vorwegzunehmen: ich kann die befehle nicht anders senden als über das gui der console!
ich bitte auch keine diskussionen ob das denn jetzt schlimm ist, wenn es lagt... ja ist es !
vielen dank für eure bemühungen ihr lieben leute!
Profifrage: _SendMessage/ControlSend verursachen systemlags
-
- [ gelöst ]
-
WhiteLion -
13. Juli 2010 um 20:06 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Ohne den Code zu sehen, ist es nicht möglich darauf zu antworten.
Ich habe auch schon häufiger mit diesen Befehlen gearbeitet aber dieses Verhalten kann ich nicht bestätigen. -
Ohne den Code zu sehen, ist es nicht möglich darauf zu antworten.
Ich habe auch schon häufiger mit diesen Befehlen gearbeitet aber dieses Verhalten kann ich nicht bestätigen.
der code hat knapp 4000 zeichen und ich möchte ihn nicht public machen, ich versichere dir es ist nur dieser
befehl, aber wenn du mir helfen magst kannst du gerne über skype + bildschirmübertragung oder teamviewer tunhier die funktion:
[autoit]Func _createlogfromconsole() ; ruft controllsendtest auf / schreibt status in die konsole / kopiert logripped.txt nach temp / erstellt difference-file
[/autoit]
Global $busygfx = GUICtrlCreatePic(@TempDir & "\busy.jpg", 190, 510, 100, 40)
$randomstatusnumber = Random(1000, 9999, 1)
Global $randomstatus = ("status " & $randomstatusnumber)
FileDelete(@TempDir & "\logripped.txt")
FileCopy(@ScriptDir & "\main\console_mp.log", @TempDir & "\logripped.txt", 1)
;~ $xxhWnd = ControlGetHandle($consoletitle,"",$consoledit)
;~ ssend($xxhWnd,"status")
;~ ssend($xxhWnd,"{Enter}",0)
;ControlSend($consoletitle, "", $consoledit, $randomstatus &"{Enter}") ; das verursacht auch lags!
;_SoundorSpeach("refreh 1")
;$hCtrlx = ControlGetHandle($consoletitle, "", $consoledit)
;MsgBox(0,"handle","altes: "&$hCtrl&" neues: "&$hCtrlx)
;FileWrite(@ScriptDir&"\test23.txt","altes: "&$hCtrl&" neues: ");&$hCtrlx
;_SoundorSpeach("refreh 1")
_GUICtrlEdit_AppendText($hCtrl, $randomstatus)
;_SendMessage($hCtrl,$WM_CHAR,0x0D)
;_SoundorSpeach("refreh 2")
_SendMessage($hCtrl, 0x102, 0x0D, 0, 0, "int", "long") ; verursacht lags!
;~ ssend($hCtrl,"status")
;~ ssend($hCtrl, 0x0D, 1)
Sleep(3000)
FileDelete(@TempDir & "\logripped2.txt")
FileCopy(@ScriptDir & "\main\console_mp.log", @TempDir & "\logripped2.txt", 1)
FileDelete(@TempDir & "\differnece.tmp")
_copydifference(@TempDir & "\logripped.txt", @TempDir & "\logripped2.txt", @TempDir & "\differnece.tmp")
GUICtrlDelete($busygfx)
EndFunc ;==>_createlogfromconsole -
- Offizieller Beitrag
Wie rufst du deine Funktion auf? Aus einer Schleife heraus'? Das einzige was mir komisch vorkommt, ist dein 3 Sekunden Sleep. Bedenke, bei einem Sleep wird dein Script für die Sleepzeit eingefrohren.
-
- Offizieller Beitrag
Warum verwendest du bei wParamType und lParamType statt wParam und lParam int und long ?
-
Warum verwendest du bei wParamType und lParamType statt wParam und lParam int und long ?
die zeile hat mir seubo so empfohlen. ich selber hatte mit der ControlSend funktion gearbeitet. (hat aber keinen unterschied gemacht)
-
empfohlen
"Zusammengeschustert" trifft es eher.Wenn du mich da eines besseren belehren kannst BugFix, dann gerne
So hat es zumindest oft genug bei mir Funktiniert. -
problem ist zwar noch da, aber ich nehme die schuld von autoit ... es ist die konsole selber die freezt
*heul*