Wer kann helfen? script läuft unzuverlässig.

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

mongtas
Posts: 14
Joined: 02 Jun 2020, 12:25

Wer kann helfen? script läuft unzuverlässig.

Post by mongtas » 11 Jun 2020, 15:44

hallo,

ich habe ein script, welches nach meinen wünschen läuft. aber es passiert immer wieder, dass irgendwas "hängen" bleibt. plötzlich funktioniert weder die shift taste, noch ctrl, oder alles wird nur noch gross geschrieben.

kann das schlecht beschreiben, weil der fehler nicht reproduzierbar ist. mal läuft es eine stunde ganz normal und dann plötzlich hängt es wieder.

wenn ich die ahk datei reloade, geht es dann wieder.

einer eine idee wie man das zuverlässiger machen kann?
oder woran das liegen könnte?
läuft da vielleicht irgend ein buffer über oder ähnliches ?

würde mich freuen, wenn ihr helfen könntet. oder mir tips geben könntet, wie ich das skript optimieren kann.

das skript macht folgendes, wenn ich a gedrückt halte und mausrad drehe, werden keys gesendet, bis ich wieder a loslasse.

hier das skipt:

Code: Select all

#NoEnv
SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
#SingleInstance Force
SetTitleMatchMode 2
#WinActivateForce
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1
#InstallKeybdHook
#InstallMouseHook
;#NoTrayIcon

; Wheel UP ################################################
;a gedrückt halten
~a & WheelUp::
	if (var = 0)
	{	
	send, ^u+a
	var := 1
	}
	else
	send, +a
return

; Wheel Down ################################################

;a gedrückt halten
~a & WheelDown::
	if (var = 0)
	{	
	send, ^u+s
	var := 1
	}
	else
	send, +s
return

$a::
Send, a
KeyWait, a
Return

~a up::
var := 0
send, {shift up}
return


User avatar
Frosti
Posts: 350
Joined: 27 Oct 2017, 14:30
GitHub: Ixiko

Re: Wer kann helfen? script läuft unzuverlässig.

Post by Frosti » 25 Jun 2020, 01:59

Ganz unten in Deinem Skript nutzt Du die zuverlässigste Methode schon. Ich kenne Dein Problem und mache es seitdem wie folgt:

Code: Select all

Sendinput, {LControl Down}c{LControl Up}
; und um ganz sicher zu gehen im Anschluß nochmal ein
Sendinput, {LControl Up}
; Deine Einstellungen von SetkeyDelay sind entscheidend, mit der Standardeinstellung geht es meist
Meine Antwort beruht nicht auf genauem Wissen und ist auch nicht vollständig.

Post Reply

Return to “Ich brauche Hilfe”