注册 登录
编程论坛 VB6论坛

已知一个vb6的exe程序在运行,但不见其图标,如何用另一个vb6的exe程序的代码,使其停止运行?

HVB6 发布于 2015-08-09 11:02, 758 次点击
假设运行程序为“数据.exe”,其“过程”为“sub test”.用另一个vb6的exe程序,使其停止运行,此程序的代码如何写?
9 回复
#2
风吹过b2015-08-09 14:04
VB是天生的单线程,如果没有特别处理,都是单线程的程序。

要停止另一个程序运行,找到 进程 ,然后结束它就可以了。

最简单的方法就是:
shell "taskkill /f /im " & "数据.exe" , VbMinimizedNoFocus
#3
HVB62015-08-09 15:22
回复 2楼 风吹过b
2楼的代码:
实时错误‘53’
文件未找到
#4
风吹过b2015-08-09 17:03
写全路径来就是这样的。
shell "%SystemRoot%\system32\taskkill.exe /f /im " & "数据.exe" , VbMinimizedNoFocus

除非文件名打错了,就不应该不存在该文件,该文件所处的路径也是 系统的搜索路径上。

task 任务
kill 结束
list 显示

命令行上两个任务管理命令。
#5
HVB62015-08-09 17:27
回复 4楼 风吹过b
shell "%SystemRoot%\system32\taskkill.exe /f /im " & "路径\数据.exe" , VbMinimizedNoFocus
还是
实时错误‘53’
文件未找到
您还是上一个“成品”如何?
#6
风吹过b2015-08-09 19:33
这个命令, 我本地测试有效。

那你检查你电脑上有这个文件 不?

开始-》运行,
输入 cmd ,确定后,
再输入:
cd\windows\system32
dir taskkill.exe

应该有一个文件显示,
C:\Windows\System32>dir taskkill.exe
 驱动器 C 中的卷没有标签。
 卷的序列号是 5238-A82E

 C:\Windows\System32 的目录

2015/07/10  19:00            96,768 taskkill.exe
               1 个文件         96,768 字节
               0 个目录 43,807,854,592 可用字节

如果没找到文件,那说明你的 WINDOWS不是完整版,这个文件被精减掉了,那就只能自己想办法。
或者使用 api 去结束进程吧。
#7
HVB62015-08-09 21:11
回复 6楼 风吹过b
6楼的文件这里的2台机子都有(xp和win7),又复制2楼的代码运行,没报错,但xp和win7的“任务管理器”中,程序仍在,不知何故?
#8
renxiaoyao362015-08-10 08:26
6L风版的CMD代码感觉怪怪的啊,我这边显示
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>dir taskkill.exe
 驱动器 C 中的卷没有标签。
 卷的序列号是 84B7-F81F

 C:\Users\Administrator 的目录

找不到文件

但是我直接输入taskkill.exe(启动taskkill.exe)却有以下显示:
错误: 无效语法。没有指定 /FI、/PID 或 /IM。
有关用法,请键入 "TASKKILL /?"。

说明有这个程序的,那为什么仍然不能用风版的命令查到这个文件呢?
#9
风吹过b2015-08-10 13:49
回复 7楼 HVB6
如果这个代码没结束掉 进程,那就只能使用API啊。

API 有二种,一种是结束进程,和 TASKKILL 命令效果会是一样。
一种是,debug 方面的,使用这种方式打开后,再退出程序,就会导致  DEBUG 的程序被退出。
#10
风吹过b2015-08-10 13:49
回复 8楼 renxiaoyao36
我是写了二条命令,你只使用了一条命令,那自然找不到文件。

我CMD 命令是在 WINDOWS 10 下面测试的,自然你的与我的不同。
1