
# 通过【后台键盘】实现在【记事本】上输入文字

#MKScript窗口文本框初始化显示的内容
mkscript_window_initial_text("通过【后台键盘】实现在【记事本】上输入文字\r\n\r\n")

#是否启动【记事本】: notepad.exe
int run_notepad = 0

#自定义标签
start:

#查找【记事本】窗口
int hwnd = window_find("", "无标题 - 记事本")
#println("hwnd:" + hwnd)

if hwnd == 0

    if run_notepad == 0

        #启动【记事本】
        run("notepad.exe")
        
        #暂停 1 秒: 等待【记事本】窗口显示
        sleep(1000)

        #标注:启动了一次【记事本】
        run_notepad = 1
        
        #重试
        goto start
        
    else

        alert("没有找到【记事本】窗口")
        exit(0)
    
    endif
    
else

    #如果窗口最小化, 就恢复显示
    if window_is_iconic(hwnd) == mkTrue
        window_show(hwnd, mkSW_RESTORE)
    endif
    
    #查找【记事本】的【输入框】
    hwnd = window_find_ex(hwnd, 0, "Edit", "")
    
    if hwnd == 0
    
        alert("没有找到【记事本】的【输入框】")
        exit(0)
    
    endif
    
    #清除当前显示的内容
    cls()
    
    #在 MKScript 窗口输出文字
    println("开始在【记事本】中输入内容...")

    #输入 hello mkscript
    window_key_code(hwnd, 'H')
    window_key_code(hwnd, 'E')
    window_key_code(hwnd, 'L')
    window_key_code(hwnd, 'L')
    window_key_code(hwnd, 'O')
    window_key_code(hwnd, ' ')
    window_key_code(hwnd, 'M')
    window_key_code(hwnd, 'K')
    window_key_code(hwnd, 'S')
    window_key_code(hwnd, 'C')
    window_key_code(hwnd, 'R')
    window_key_code(hwnd, 'I')
    window_key_code(hwnd, 'P')
    window_key_code(hwnd, 'T')    
    
    #按两次【回车】
    window_key_code(hwnd, 13, 2)
    
    #输入中文，英文(大小写), 每隔 0.1 秒输入一个字符
    window_input(hwnd, "你好 MKScript", 100)
    
    #按两次【回车】
    window_key_code(hwnd, 13, 2)
    
    
    #--------------------------------- 输入 1 + 2 = 3
    window_key_code(hwnd, '1')
    
    # 加号 '+' 的虚拟键码: 107
    window_key_code(hwnd, 107)
    
    window_key_code(hwnd, '2')
    
    # 等号 '=' 的虚拟键码: 187
    window_key_code(hwnd, 187)
    
    window_key_code(hwnd, '3')
    
    #---------------------------------
    
    #按两次【回车】
    window_key_code(hwnd, 13, 2)   

    #输入中文
    window_input(hwnd, "完成", 100) 

    #按两次【回车】
    window_key_code(hwnd, 13, 2)
    
    sleep(500)
    
    #清除当前显示的内容
    cls()
    
    #在 MKScript 窗口输出文字
    println("【记事本】输入文字完成。")
    
    #重置
    run_notepad = 0
    
    #暂停
    pause(mkFalse)
    
    #再来一次    
    goto start    

endif
