肥猫傻狍子 发表于 2021-7-7 18:19:53

精易模块调用进程_ID取窗口句柄返回值一直是0

.版本 2
.支持库 iext
.支持库 spec
.支持库 EThread

.子程序 _全部开始_被选择
.局部变量 s, 整数型

重定义数组 (大漠多线程, 假, 超级列表框1.取表项数 ())
全局多开数量 = 到整数 (编辑框1_多开数量.内容)
调试输出 (全局多开数量)
.计次循环首 (超级列表框1.取表项数 (), s)
    超级列表框1.现行选中项 = s - 1
    超级列表框1.获取焦点 ()
    .如果 (启动线程 (&当前窗口线程, s, 大漠多线程 .线程句柄) = 真)
      全局多线程窗口 = 全局多线程窗口 + 1
      调试输出 (全局多线程窗口)
    .否则
      调试输出 (“线程” + 到文本 (s) + “启动失败”)
    .如果结束

    .判断循环首 (真)
      .如果真 (全局多线程窗口 < 全局多开数量)
            跳出循环 ()
      .如果真结束
      大漠.delay (3000)
    .判断循环尾 ()
.计次循环尾 ()


.子程序 当前窗口线程
.参数 s, 整数型
.局部变量 编辑框句柄, 整数型
.局部变量 大漠, 大漠英文版

CoInitializeEx (0, 0)
大漠多线程 .大漠.创建 ()
大漠 = 大漠多线程 .大漠
调试输出 (大漠.Ver ())
大漠多线程 .进程ID = 进程_创建 (“C:\Windows\System32\notepad.exe”, , , )
调试输出 (“ID:” + 到文本 (大漠多线程 .进程ID))
大漠多线程 .句柄 = 进程_ID取窗口句柄 (大漠多线程 .进程ID, “无标题 - 记事本”, “Notepad”, , )

调试输出 (“句柄:” + 到文本 (大漠多线程 .句柄))
.' 如果 (大漠多线程 .句柄 > 0)
    ' 编辑框句柄 = 大漠.GetWindow (大漠多线程 .句柄, 1)
    .' 如果真 (编辑框句柄 > 0)
      .' 判断循环首 (真)
            ' 大漠.SendString (编辑框句柄, 到文本 (s) + #换行符)
            ' 大漠.delay (2000)

      .' 判断循环尾 ()
    .如果真结束

.否则
    调试输出 (“窗口句柄获取失败”)












这里是数据
.版本 2

.数据类型 多线程句柄数据
    .成员 线程句柄, 整数型
    .成员 进程ID, 整数型
    .成员 句柄, 整数型
    .成员 大漠, 大漠英文版








全局变量
.版本 2

.全局变量 大漠多线程, 多线程句柄数据, , "0"
.全局变量 大漠, 大漠英文版
.全局变量 全局多线程窗口, 整数型
.全局变量 全局多开数量, 整数型

aass123456789 发表于 2021-7-7 21:04:37

哇 好厉害真秀 陈独秀

易生情 发表于 2021-7-8 08:59:38

是不是把s弄成参数了。

老P司机 发表于 2021-7-9 11:01:43

66666666666666666
页: [1]
查看完整版本: 精易模块调用进程_ID取窗口句柄返回值一直是0