精易论坛
标题:
程序判断
[打印本页]
作者:
ytm易小白
时间:
2025-2-12 20:04
标题:
程序判断
由启动窗口的按钮运行2.exe,这时2.exe窗口会停留一段时间做其他操作,
这个程序后面怎么写才能达到只有2.exe的进程(cmd.exe)关闭后才执行后面的启动窗口按钮被单击指令的效果,
比如
.版本 2
.子程序 _按钮1_被单击
运行 (“D:\2.exe”, 假, )
延时 (2000)
窗口句柄 = 窗口_取句柄_模糊 (“Engineering Toolkit 9.07b2”, “Xmanager:XFrame”) ' 获取2.exe的窗口句柄
' 窗口_置顶 (窗口句柄, )
键盘_消息 (窗口句柄, #F9键, 5, ) ' 执行2.exe的快捷键
_按钮2_被单击 ()
作者:
算法艺术家
时间:
2025-2-12 20:04
程序_等待窗口消失(, , )
作者:
算法艺术家
时间:
2025-2-12 20:11
或者 程序_等待句柄消失(, )
作者:
禁回忆
时间:
2025-2-12 20:17
不考虑性能的话,一个死循环,循环查找2.exe的句柄,如果找到了就继续执行,这个可以替换掉你的延时(2000),同理,按钮2被单击的事件前,加个死循环,找不到2.exe的窗口句柄了,就执行。
考虑性能的话,你可以选择自定义窗口事件,2.exe关闭时投递一个自定义的窗口消息,按钮2被单击前死循环一个逻辑型变量,什么时候收到窗口消息什么时候这个逻辑型变量变成false也就是假,用来跳出死循环执行按钮2被单击的事件。
同理,你也可以采用命名管道跨进程通讯来实现,方式和自定义窗口消息一样
你也可以采用消息队列等中间件也投递2.exe被关闭的消息
也可以采用socket的方式。
这些都是可以跨进程通讯的手段,看你需要
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4