Autohotkey - Wie kann Blockinput, MouseMove den Cursor von meinem Wacom (Tablet) -Stift abhalten

729
litu16

Ich habe ein AHK-Skript, das ein Bedienfeld von ArtRage aus verschiebt. Ich verwende es blockinput, mousemovevor dem Klicken und Ziehen, sodass die Maus den Cursor nicht bewegen kann, während AHK das Klicken und Ziehen ausführt. Da ich dieses Skript jedoch in ArtRage, meinem Tablet, verwende Das Klicken und Ziehen kann trotz der Verwendung beeinträchtigt werden blockinput, mousemove, daher ist das Bedienfeld, das ich ziehen wollte, an einer anderen Position. Gibt es eine Möglichkeit, die Eingabe von meinem Wacom-Tablet vorübergehend zu blockieren? die Position der Stile konnte mein AHK-Skript also nicht beeinträchtigen?

Kann mir die AHKHID bei diesem Problem helfen, habe ich gesehen, dass es sehr komplexer Code ist. Hat jemand Wissen über dieses Thema?

0
Sie klicken und ziehen programmatisch im Vergleich zu `WinMove`? JJohnston2 vor 7 Jahren 0
ja denn es ist kein Fenster, es ist eher ein Panel im Artrage-Fenster und dort wie 8 Panels mit dem gleichen Klassennamen litu16 vor 7 Jahren 0

1 Antwort auf die Frage

0
JJohnston2

Verwenden Sie WinGet,Listdiese Option, um eine Liste aller Panelfenster mit der entsprechenden Klassenkennung abzurufen.

Schleife durch die Liste. In den Hilfedateien gibt es Beispielcode, der dies im Grunde schon tut. Verwenden Sie einfach das entsprechende WinTitle für die Suche mit dem gewünschten ahk_classBezeichner.

Verwenden Sie WinGetPosin der Schleife die Größe und Position jedes Fensters.

Vergleichen Sie jede Fensterposition mit dem Ort, an dem Sie wissen, dass sich das Fenster befindet ... dh, wo Sie klicken würden, wenn Sie zum Ziehen auf das Fenster klicken würden.

Wenn Sie das passende Fenster gefunden haben, können Sie die Schleife unterbrechen und dieses Fenster als Argument verwenden WinMove, um das Fenster programmgesteuert zu verschieben.

Dies ist keine direkte Antwort auf die Frage (wie gestellt), aber sie wird zuverlässiger, schneller und weniger klobig sein, selbst wenn Sie herausfinden, wie die Eingabe durch den Stift blockiert wird.

In ArtRage werden alle Fenster als ToolWindow bezeichnet. Ich schätze, ich kann kein Fenster auswählen, da alle gleich heißen litu16 vor 7 Jahren 0
Sie müssen die Fenster-ID verwenden, nachdem Sie die von `WinGet, List 'zurückgegebene ID-Liste durchlaufen haben, um zu bestimmen, welche Sie verschieben möchten JJohnston2 vor 7 Jahren 0
Hallo JJohnston2 Ich habe in der AHK-Hilfe `WinGet` https://autohotkey.com/docs/commands/WinGet.htm gesucht. Auf welches Beispiel beziehen Sie sich? Könntest du bitte ein Beispiel posten, wie ich durch alle Fenster in ahk_class XXX gehen soll? danke fortgeschritten litu16 vor 7 Jahren 0
Suchen Sie nach "Liste". Beispiel # 2. Um den Beispielcode zu verwenden, ersetzen Sie die WinGet-Listenargumente für WinTitle usw. entsprechend Ihrem WinTitle, dh ahk_class XXX JJohnston2 vor 7 Jahren 0