请问下如何用易语言 写一个 “如果检查到某个程序退出的话就利用计算机的喇叭报警的程序”。。。

版本 2
.支持库 spec
.子程序 _按钮1_被单击
.局部变量 间隔
.如果 (时钟1.时钟周期 > 0)
时钟1.时钟周期 = 0
按钮1.标题 = “监控”
.否则
间隔 = 到整数 (编辑框间隔.内容)
.如果真 (间隔 < 1)
间隔 = 1
.如果真结束
时钟1.时钟周期 = 间隔
按钮1.标题 = “停止”
.如果结束
.子程序 _编辑框间隔_内容被改变
.局部变量 间隔
.如果真 (时钟1.时钟周期 > 0)
间隔 = 到整数 (编辑框间隔.内容)
.如果真 (间隔 < 1)
间隔 = 1
.如果真结束
时钟1.时钟周期 = 间隔
.如果真结束
.子程序 _时钟1_周期事件
.如果真 (进程是否存在 (编辑框进程.内容) = 假)
_按钮1_被单击 () ' 停止监控
.计次循环首 (5, ) ' 发声5次
鸣叫 ()
延迟 (300)
.计次循环尾 ()

建议不要用时钟来检测,单独用一个线程来完成;

.版本 2
.全局变量 检测进程名, 文本型
.全局变量 全局_线程标示, 整数型

.版本 2
.支持库 ELIBCP
.支持库 spec
.支持库 EThread
.子程序 子程序_线程检测
.局部变量 全局_进程名, 文本型
检测进程名 = 到小写 (全局_进程名)
.判断循环首 (进程是否存在_ (检测进程名) = 真) ' 以进程为判断进入死循环等待,网上有很多检测进程是否存在的源码,可自行搜索,也可以使用 eLIB扩展2->进程函数
处理事件 ()
延迟 (1000)
.判断循环尾 ()
' 以下为报警程序
.计次循环首 (5, )
鸣叫 ()
处理事件 ()
延迟 (1000)
.计次循环尾 ()
全局_线程标示 = 0
.子程序 _按钮1_被单击
.如果 (按钮1.标题 = “监控”)
.如果真 (全局_线程标示 ≠ 0)
启动线程 (&子程序_线程检测, , 全局_线程标示)
按钮1.标题 = “停止”
.如果真结束
.否则
全局_线程标示 = 0
按钮1.标题 = “监控”
.如果结束
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-10
..你代码有问题.思路太乱了.表示看半天没弄明白..
应该是这样..

子程序 _按钮1_被单击
如果(时钟1.时钟周期>0)
按钮1.标题 = “监控”
时钟1.时钟周期 = 0
否则
按钮1.标题 = “停止”
如果( 编辑框间隔.内容=0)
信息框(“请输入大于0的整数”,0,)
否则
时钟1.时钟周期 = 到数值( 编辑框间隔.内容) * 1000 ' 你上面的是0.001秒执行一次,单位要弄清楚

子程序 _时钟1_周期事件

如果真 (进程是否存在 (编辑框进程.内容) = 假)
按钮1.标题=“监控”
时钟1.时钟周期 = 0
计次循环首 (5, )
鸣叫 ()
延迟 (300)
计次循环尾 ()

那判断 编辑框间隔.内容 的完全没必要 ,再编辑框属性的 输入方式改成整数文本输入就行。

你为什么不分开用2个按钮呢,能简单的多。

你按监控就报警的原因是因为 编辑框间隔.内容 被改变 时钟周期事件就开始工作了。
第2个回答  2012-12-10
检测进程是否存在追问

我按照上面的去 写了一个 但是 写出来 之后 一按哪个监控 就自动报警了 也不检测进程

追答

你可能没有打开软件吧。或是进程名不对。检查一下