社区
API
帖子详情
一个关于检测程序进程的问题
流水之风
2004-08-21 04:35:47
我想在自己的程序中检测某个程序是否在运行,但是那个要被检测的程序的窗口名为Default IME,在系统中存在这个名称的窗口太多了,使用FindWindow函数根本不能检测到真正的程序是否存在,使用进程ID也不行,因为进程ID都是会变的,那么是否有办法还有办法可以检测到所需的程序是否在运行?
...全文
208
6
打赏
收藏
一个关于检测程序进程的问题
我想在自己的程序中检测某个程序是否在运行,但是那个要被检测的程序的窗口名为Default IME,在系统中存在这个名称的窗口太多了,使用FindWindow函数根本不能检测到真正的程序是否存在,使用进程ID也不行,因为进程ID都是会变的,那么是否有办法还有办法可以检测到所需的程序是否在运行?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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.1 操作系统的目标和作用 1 1.1.1 操作系统的目标 1 1.1.2 操作系统的作用 2 1.1.3 推动操作系统发展的主要动力 4 1.2 操作系统的发展过程 5 1.2.1 无操作系统的计算机系统 5 1.2.2 单道批处理系统 6 1.2.3 多道批处理系统 7 1.2.4 分时系统 9 1.2.5 实时系统 11 1.2.6 微机操作系统的发展 12 1.3 操作系统的基本特性 14 1.3.1 并发性 14 1.3.2 共享性 15 1.3.3 虚拟技术 16 1.3.4 异步性 17 1.4 操作系统的主要功能 18 1.4.1 处理机管理功能 18 1.4.2 存储器管理功能 19 1.4.3 设备管理功能 21 1.4.4 文件管理功能 21 1.4.5 操作系统与用户之间的接口 22 1.5 OS结构设计 24 1.5.1 传统的操作系统结构 24 1.5.2 客户/服务器模式 26 1.5.3 面向对象的
程序
设计 27 1.5.4 微内核OS结构 29 习题 33 第二章 进 程 管 理 2.1
进程
的基本概念 34 2.1.1
程序
的顺序执行及其特征 34 2.1.2 前趋图 35 2.1.3
程序
的并发执行及其特征 36 2.1.4
进程
的特征与状态 37 2.1.5
进程
控制块 41 2.2
进程
控制 43 2.2.1
进程
的创建 43 2.2.2
进程
的终止 45 2.2.3
进程
的阻塞与唤醒 46 2.2.4
进程
的挂起与激活 47 2.3
进程
同步 47 2.3.1
进程
同步的基本概念 47 2.3.2 信号量机制 50 2.3.3 信号量的应用 53 2.3.4 管程机制 55 2.4 经典
进程
的同步
问题
58 2.4.1 生产者—消费者
问题
58 2.4.2 哲学家进餐
问题
61 2.4.3 读者—写者
问题
63 2.5
进程
通信 65 2.5.1
进程
通信的类型 65 2.5.2 消息传递通信的实现方法 66 2.5.3 消息传递系统实现中的若干
问题
68 2.5.4 消息缓冲队列通信机制 69 2.6 线程 71 2.6.1 线程的基本概念 72 2.6.2 线程间的同步和通信 75 2.6.3 线程的实现方式 77 2.6.4 线程的实现 78 习题 81 第三章 处理机调度与死锁 3.1 处理机调度的层次 84 3.1.1 高级调度 84 3.1.2 低级调度 86 3.1.3 中级调度 87 3.2 调度队列模型和调度准则 88 3.2.1 调度队列模型 88 3.2.2 选择调度方式和调度算法的若干准则 90 3.3 调度算法 91 3.3.1 先来先服务和短作业(
进程
)优先调度算法 91 3.3.2 高优先权优先调度算法 93 3.3.3 基于时间片的轮转调度算法 95 3.4 实时调度 97 3.4.1 实现实时调度的基本条件 97 3.4.2 实时调度算法的分类 99 3.4.3 常用的几种实时调度算法 100 3.5 产生死锁的原因和必要条件 103 3.5.1 产生死锁的原因 103 3.5.2 产生死锁的必要条件 105 3.5.3 处理死锁的基本方法 105 3.6 预防死锁的方法 106 3.6.1 预防死锁 106 3.6.2 系统安全状态 107 3.6.3 利用银行家算法避免死锁 108 3.7 死锁的
检测
与解除 111 3.7.1 死锁的
检测
111 3.7.2 死锁的解除 113 习题 114 第四章 存 储 器 管 理 4.1 存储器的层次结构 116 4.1.1 多级存储器结构 116 4.1.2 主存储器与寄存器 117 4.1.3 高速缓存和磁盘缓存 117 4.2
程序
的装入和链接 118 4.2.1
程序
的装入 118 4.2.2
程序
的链接 120 4.3 连续分配方式 121 4.3.1 单一连续分配 121 4.3.2 固定分区分配 122 4.3.3 动态分区分配 123 4.3.4 伙伴系统 126 4.3.5 哈希算法 126 4.3.6 可重定位分区分配 127 4.3.7 对换 129 4.4 基本分页存储管理方式 130 4.4.1 页面与页表 130 4.4.2 地址变换机构 131 4.4.3 两级和多级页表 133 4.5 基本分段存储管理方
VC++定时
检测
进程
,被
检测
进程
挂掉后启动
应用场景 最近使用MFC写
一个
监控
进程
的后台
程序
,需要实现以下的功能: 1、遍历被监控的
进程
列表,定时(比如1分钟)
检测
进程
列表,如果某个需要被监视的
进程
未运行,则启动它。 2、防止假死-使用心跳机制(UDP实现后台监控
进程
与被监控
进程
的心跳进制) a、被
检测
进程
定时,比如说每隔5秒给后台监控
进程
发送
一个
包含
进程
名称、
进程
所在绝对路径、发送心跳的时间戳等信息,后台监控
进程
定时
检测
遍历每个
进程
,如果该
进程
连续3次如15秒没有给监控
进程
发送心跳包,则说明该
进程
因为异常情况比如假死了,监控
进程
则先杀掉该
进程
然后再
Shell脚本
程序
守护
进程
Shell脚本
程序
守护
进程
1.编写背景: 维护
一个
常时数据库更新软件时,遇见非常见自动关闭事件,且自动关闭时间间隔较长,暂时无法准确分析定位
问题
所在,故先写
一个
守护
进程
保证在掉线时拉起
程序
以暂时弥补漏洞。 2.结构与知识: 守护
进程
主要分为两部分,一部分为
检测
目前目标
进程
是否正在运行,另一部分为在目标
进程
未在运行时尝试拉起
程序
。
检测
进程
是否正在运行直接采用ps并筛选的方法。 appFind=`ps -ef | grep $AppName | grep -v grep` 反引号作用为执行反引号内命令行语
Linux-
进程
控制详解(
进程
创建+
进程
终止+
进程
等待+
进程
程序
替换)
Linux
进程
控制1.
进程
创建1.1 fork1.2 vfork2.
进程
终止3.
进程
等待4.
进程
程序
替换 1.
进程
创建 1.1 fork 在Linux中,我们通常使用fork函数来为
一个
已经存在的
进程
创建
一个
新
进程
。而这个新创建出来的
进程
被称为原
进程
的子
进程
,原
进程
被称为该
进程
的父
进程
。 该函数其实是
一个
系统调用接口,原型如下: #include <unistd.h> pid_t fork(void); 特性:子
进程
会复制父
进程
的PCB,二者之间代码共享,数据独有,拥有各自的
进程
虚拟
8.7 父
进程
检测
反调试
首先这是一种比较奇特的反调试思路,通过
检测
自身父
进程
来判定是否被调试,原理非常简单,我们的系统在运行
程序
的时候,绝大多数应用
程序
都是由`Explorer.exe`这个父
进程
派生而来的子
进程
,也就是说如果没有被调试其得到的父
进程
就是`Explorer.exe`的
进程
PID,而如果被调试则该
进程
的父
进程
PID就会变成调试器的PID值,通过对父
进程
的
检测
即可实现
检测
是否被调试的功能。
API
1,486
社区成员
23,280
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章