
# 通过【后台键盘】：window_key_code() 实现在【计算器】上输入 (1 + 2) * 5 求值


#是否启动计算器: calc.exe
int run_calc = 0

#自定义标签
start:

#查找【计算器】窗口
int hwnd = window_find("", "计算器")
#println("hwnd:" + hwnd)

if hwnd == 0

    if run_calc == 0

        #启动【计算器】
        run("calc.exe")
        
        #暂停 1 秒: 等待【计算器】窗口显示
        sleep(1000)        

        #标注:启动了一次【计算器】
        run_calc = 1
        
        #重试
        goto start
        
    else

        alert("没有找到【计算器】窗口")
        exit(0)
    
    endif
    
else

    #如果窗口最小化, 就恢复显示
    if window_is_iconic(hwnd) == mkTrue
        window_show(hwnd, mkSW_RESTORE)
    endif
    
    #清除当前显示的内容
    cls()
    
    #在 MKScript 窗口输出文字
    println("开始在【计算器】中输入内容...")

    #先按一下 Esc, 清空之前输入的数字
    window_key_code(hwnd, 27)

    #按数字键 '1'
    window_key_code(hwnd, '1')
    
    #暂停 0.5 秒
    sleep(500)
    
    # 加号 '+' 的虚拟键码: 107
    window_key_code(hwnd, 107)
    
    sleep(500)

    #按数字键 '2'
    window_key_code(hwnd, '2')
    
    sleep(500)
    
    # 等号 '=' 的虚拟键码: 187
    window_key_code(hwnd, 187)
    
    sleep(500)
    
    # 乘号 '*' 的虚拟键码: 106
    window_key_code(hwnd, 106)
    
    sleep(500)
    
    #按数字键 '5'
    window_key_code(hwnd, '5')
    
    sleep(500)
    
    # 等号 '=' 的虚拟键码: 187
    window_key_code(hwnd, 187)
    
    sleep(500)    
    
    #在 MKScript 窗口输出文字
    println("如果一切正常，【计算器】上显示的结果: 15")
    
    #重置
    run_calc = 0
    
    #暂停
    pause(mkFalse)
    
    #再来一次    
    goto start    

endif
