一个关于检测程序进程的问题

流水之风 2004-08-21 04:35:47
我想在自己的程序中检测某个程序是否在运行,但是那个要被检测的程序的窗口名为Default IME,在系统中存在这个名称的窗口太多了,使用FindWindow函数根本不能检测到真正的程序是否存在,使用进程ID也不行,因为进程ID都是会变的,那么是否有办法还有办法可以检测到所需的程序是否在运行?
...全文
244 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname008 2004-08-21
  • 打赏
  • 举报
回复
楼主想通过什么判断那个进程是你所想检测的进程?
可以通过ToolHelp函数集中的函数获得系统中当前运行的每个进程的路径。
zyl910 2004-08-21
  • 打赏
  • 举报
回复
可以用ToolHelp函数集枚举进程

ToolHelp函数集:
CreateToolhelp32Snapshot
Heap32First
Heap32ListFirst
Heap32ListNext
Heap32Next
Module32First
Module32Next
Process32First
Process32Next
Thread32First
Thread32Next
Toolhelp32ReadProcessMemory
rainstormmaster 2004-08-21
  • 打赏
  • 举报
回复
枚举进程,获取进程对应的文件路径(根据这个进行判断即可)
online 2004-08-21
  • 打赏
  • 举报
回复
http://blog.csdn.net/online/archive/2004/08/05/66373.aspx
DemonLoveLizzy 2004-08-21
  • 打赏
  • 举报
回复
程序运行时是删不掉的。可以在ON ERROR 标号处添加相应的处理代码。
DemonLoveLizzy 2004-08-21
  • 打赏
  • 举报
回复
这么说你知道那个程序在哪里是么?这样就好办了。
你可以先用2进制读入文件数据,然后删除文件。
SUB FORM-LOAD()

ON ERROR GO TO 1
2进制读入文件(或复制它)
KILL 文件
2进制写入文件 (也就是删除之后再重新生成)
1:MSGBOX“程序运行中”

END SUB

我也想不出更简单的方法了。

另外,进程枚举是可以得到进程的路径名的。可以按路径名的匹配来判断程序是否运行。

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧