易语言不引用模块,用进程名取到进程。
发布网友
发布时间:2022-04-29 14:02
我来回答
共2个回答
热心网友
时间:2023-10-09 16:04
.版本 2
.DLL命令 _创建快照, 整数型, , "CreateToolhelp32Snapshot"
.参数 falg, 整数型
.参数 id, 整数型
.版本 2
.DLL命令 _第一个, 整数型, , "Process32First"
.参数 h, 整数型
.参数 p, 进程信息_
.DLL命令 _下一个, 整数型, , "Process32Next"
.参数 h, 整数型
.参数 p, 进程信息_
.版本 2
.DLL命令 _关闭对象, 整数型, , "CloseHandle", 公开, kernel32.dll
.参数 对象句柄, 整数型
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
.版本 2
.数据类型 进程信息_, , 进程信息
.成员 dwSize, 整数型
.成员 cntUsage, 整数型
.成员 进程ID, 整数型
.成员 th32DefaultHeapID, 整数型
.成员 th32MoleID, 整数型
.成员 cntThreads, 整数型
.成员 th32ParentProcessID, 整数型
.成员 pcPriClassBase, 整数型
.成员 dwFlags, 整数型
.成员 进程名称, 字节型, , "256"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
.版本 2
.子程序 进程取ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回-1)
.参数 进程名, 文本型, , 程序进程名
.参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写
.局部变量 信息, 进程信息_
.局部变量 进程快照, 整数型
.局部变量 进程句柄, 整数型
进程快照 = _创建快照 (15, 0)
.如果真 (进程快照 ≠ 0)
信息.dwSize = 1024
进程句柄 = _第一个 (进程快照, 信息)
.如果 (区分大小写)
.判断循环首 (进程句柄 ≠ 0)
.如果真 (到文本 (信息.进程名称) = 进程名)
_关闭对象 (进程快照)
返回 (信息.进程ID)
.如果真结束
进程句柄 = _下一个 (进程快照, 信息)
.判断循环尾 ()
.否则
.判断循环首 (进程句柄 ≠ 0)
.如果真 (到小写 (到文本 (信息.进程名称)) = 到小写 (进程名))
_关闭对象 (进程快照)
返回 (信息.进程ID)
.如果真结束
进程句柄 = _下一个 (进程快照, 信息)
.判断循环尾 ()
.如果结束
_关闭对象 (进程快照)
.如果真结束
返回 (-1)
热心网友
时间:2023-10-09 16:04
下面这个是在编辑框里写下进程名[不带.exe(后缀名)],然后可以看得进程是否正在运行和结束进程,不过我不知道怎样把编辑框改成组合框,那样就不用输进程名了,这点谁会的话,提醒我下
代码如下:
.版本 2
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 要关闭的文件名, 文本型
.子程序 __启动窗口_创建完毕
标题 = “查看进程”
.子程序 _按钮1_被单击
.局部变量 进程列表, 进程信息, , "0"
.局部变量 计次, 整数型
.局部变量 存在进程, 逻辑型
.局部变量 要判断的程序名, 文本型
进程列表 = 取系统进程列表 ()
要判断的程序名 = 编辑框1.内容 + “.exe”
.计次循环首 (取数组成员数 (进程列表), 计次)
.如果 (进程列表 [计次].进程名称 = 要判断的程序名)
存在进程 = 真
跳出循环 ()
.否则
存在进程 = 假
.如果结束
.计次循环尾 ()
.判断开始 (存在进程 = 真)
标签1.标题 = “存在进程: ” + 要判断的程序名
重画 ()
.默认
标签1.标题 = “程序 ” + 要判断的程序名 + “ 未运行”
.判断结束
.子程序 _按钮2_被单击
要关闭的文件名 = 编辑框1.内容
终止进程 (要关闭的文件名 + “.exe”)