如何设置AutoHotKey进程优先级和随机睡眠?

时间:2019-02-05 11:05:28

标签: process autohotkey sleep

我想在下面的脚本中设置高优先级(仅在第一时间)。

另一个重要的事情是您是否可以做Radom Sleep, 250 to 350 ??

Loop
{
    {
        ImageSearch,,, 0, 0, A_ScreenWidth, A_ScreenHeight, mor.png
        bT:= ErrorLevel ? bT : 1
        If bT
        {
            bT:= 0
            Random, x, 1130, 1300
            Random, y, 580, 680
            Click % x % % y %
                Sleep, 500

        }
    }

    ImageSearch,,, 0, 0, A_ScreenWidth, A_ScreenHeight, biz.png
    bT:= ErrorLevel ? bT : 1
    {
        bT:= 0
        Random, x, 540, 618
        Random, y, 419, 430
        Click % x % % y %

                 }
}
Return
f1:: ExitApp

2 个答案:

答案 0 :(得分:1)

尝试一下:

Process, Priority,, High 

Loop
{
    If GetKeyState("F1","P")
        ExitApp
    ImageSearch,,, 0, 0, A_ScreenWidth, A_ScreenHeight, mor.png
    bT:= ErrorLevel ? bT : 1
    If bT
    {
        bT:= 0
        Random, x, 1130, 1300
        Random, y, 580, 680
        Click %x%, %y%
        Sleep, % rnd(250,350)   
    }
    ImageSearch,,, 0, 0, A_ScreenWidth, A_ScreenHeight, biz.png
    bT:= ErrorLevel ? bT : 1
    If bT
    {
        bT:= 0
        Random, x, 540, 618
        Random, y, 419, 430
        Click %x%, %y%
    }   
}

rnd(min,max){
    Random, myVar,% min,% max
    return myVar
}

未经测试。

答案 1 :(得分:0)

如果要更改正在运行脚本的线程的优先级,以使其可以/不能被另一个线程中断,请使用Thread命令:

  

Thread, Priority, Level

Level是一个带符号的32位整数。参见AHK — Thread.

您可以使用Random命令(如代码中所示)生成一个伪随机数。如果您想使用随机数暂停线程,则可以这样做:

Random, timer, 250, 350    ; Generates the pseudo-random number
Sleep, %timer%               ; Pauses script execution according to value