0

I have an AHK script that moves a panel from ArtRage, I use blockinput, mousemove before doing the click and drag, so the mouse can't move the cursor while AHK is doing the click and drag, but since I use this script in ArtRage, my tablet can interfere with the click and drag despite I used blockinput, mousemove, hence the panel I wanted to drag end up in another different position. Is there a way to temporarily block the input from my wacom tablet? so the position of the stylues could no't interfere with my AHK script?

Can the AHKHID help me on this issue, I saw that it is very complex code. Does anybody have some knowledge on this issue?

  • You are clicking and dragging programmatically vs. using WinMove? – JJohnston2 Dec 9 '16 at 7:05
  • yes cuz it is not a window, is more a panel inside the artrage window and there like 8 panels with the same class name inside – litu16 Dec 15 '16 at 12:33
0

Use WinGet,List to get a list of all the panel windows with the matching class identifier.

Loop through the list. There is example code in the help files that basically does this already, just use the appropriate WinTitle for searching with the desired ahk_class identifier.

Inside the loop, use WinGetPos to get the size and position of each window.

Do a comparison of each window position against where you know the window is located... i.e., where you would click if you were going to click it for dragging.

Once you find the matching window, you can break the loop and use that window as an argument to WinMove to move the window programmatically.

This isn't a direct answer to the question (as asked) but it's going to be more reliable, faster, and less clunky, even if you do figure out how to block the stylus input.

|improve this answer|||||
  • inside ArtRage all windows are called ToolWindow, so I guess I can't select one cuz all are called the same – litu16 Dec 18 '16 at 17:15
  • You would need to use the window ID, after looping through the id list returned by WinGet, List to determine which one you want to move – JJohnston2 Dec 18 '16 at 18:01
  • Hi JJohnston2 I searched in AHK help WinGet autohotkey.com/docs/commands/WinGet.htm which is the example you are refering to? could you please post an example of How I whould loop through all windows inside ahk_class XXX? thanks advanced. – litu16 Jan 4 '17 at 2:29
  • Search for "list". Example #2. To use the example code replace the WinGet list arguments for WinTitle etc. to match your WinTitle, i.e., ahk_class XXX – JJohnston2 Jan 4 '17 at 3:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.