请教高手,如何记录某段时间(比如一天之内)用户打开过什么程序? 请大虾指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你不想使用驱动程序帮忙的话,就使用一些Windows API来做也是可以的。简单的讲就是类似那些进程监视程序,动态枚举出当前系统中活动的进程。调用EnumProcesses,可以得到当前系统中所有进程的id,然后调用OpenProcess打开得到进程的句柄,接下来的事情你应该很好办了。这个办法有点笨,因为需要定时枚举进程,时间间隔设得太长可能遗漏那些生命期很短的进程,太短又可能占用过多系统资源。最好的办法可能还是使用驱动程序监视所有的CreateProcess调用。www.sysinternals.com上有监视系统进程/线程的程序,可惜没有源代码,想来要自己实现一个也不是那么容易的,如果你急着出活,建议用上面我介绍的方法。如果想彻底解决和深入研究,那就建议写驱动程序。 多谢timeguest(三少爷)的建议,我对驱动程序是一窍不通,驱动程序这方面看什么书入门比较好?to yongdu()如何钩CreateProcess?多谢两位! 各位高手,如何通过注册表来得到和修改系统的首选DNS,备用DNS 问网上下载了一CSOCKET类写的网络编程演示,(有几个地方始终搞不懂,) 浮点数显示 如何实现像QQ截图那样背景变暗选择区域变亮的效果! 请问InstallShield如何在安装时注册一个自己的.dll的COM组件啊? 做DVR的朋友能进来聊聊吗? cout对象不存在? =char 字符数组问题! 很简单的问题.在程序中调用ie打开一个连接,改怎么做 VC读取数据小问题讨论,大家进来帮忙看看啊 极限编程 XP 是哪两个单词的缩写? API图形函数的速度问题?请高手指教!
调用EnumProcesses,可以得到当前系统中所有进程的id,然后调用OpenProcess打开得到进程的句柄,接下来的事情你应该很好办了。这个办法有点笨,因为需要定时枚举进程,时间间隔设得太长可能遗漏那些生命期很短的进程,太短又可能占用过多系统资源。最好的办法可能还是使用驱动程序监视所有的CreateProcess调用。
www.sysinternals.com上有监视系统进程/线程的程序,可惜没有源代码,想来要自己实现一个也不是那么容易的,如果你急着出活,建议用上面我介绍的方法。如果想彻底解决和深入研究,那就建议写驱动程序。
to yongdu()如何钩CreateProcess?
多谢两位!