DragonBall Posted November 25, 2011 Posted November 25, 2011 Hi, I have a script like the following: ......(a little bit long) While WinActive("B") While NOT WinActive(" A") sleep(100) If ProcessExists("A.exe") = 0 Then ProcessClose("B.exe") Exit EndIf If _isPressed( Hex(17), $dll) AND _isPressed( Hex(18), $dll) AND _isPressed( Hex(37), $dll) Then WinActivate("A") ExitLoop EndIf WEnd WEnd ...A little bit long..... The above part is "to change WinB to WinA by a key press ctrl+alt+left" When WinB is active and do nothing, then there is a 1% cpu (sometimes go back to 0% then back to 1%) used. Although this is not a problem, but I would like to know if there is a way to avoid this. Of course, one can use sleep(1000) instead. But in that case, when I press ctrl+alt+right, It doesn't activate WinA, since it doesn't detect the key is pressed. So one solution may be to make the fact "a key is pressed" longer, 1 second in the above example. I am not sure if there is a big script that has a lot of parts similar to the above, and which has a heavy CPU usage. But since many programs use 0% cpu when they are idle, but they can respond immediately, so I am curious how can we do the same thing with autoit.
AdmiralAlkex Posted November 25, 2011 Posted November 25, 2011 Use HotKeySet() instead .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now