如何监视系统运行什么程序?(50分)

  • 主题发起人 主题发起人 byteh
  • 开始时间 开始时间
B

byteh

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]不是当某一个程序执行时会触发某个消息,然后在DELPHI中捕捉并判断是什么程序然后记录!或者是用TIMER隔单位时间调用依次相应的API来判断当前系统正在运行什么程序?
请各位指点以下具体做法?其实很多管理软件都有这个功能,像美萍还有什么电子教室之类,从C端查看S端当前运行什么程序,现在只是想在C端直接实现,我的想法可能对,不过我不知道如何下手!
 
学习,我也想知道。
 
你可以开发一个简单的驱动程序来监控。

可以到www.codeguru.com下的system中的ApiHook中有一些关于这方面的内容。
 
要看windows下运行哪些程序要分nt & 98不同的情况。
NT(2000,Xp):
相关Api:1.EnumProcesses<---获取进程ID
2.OpenProcess<---获取进程handle;
3.EnumProcessModules<--获取进程文件名;(cb设为1);
uses PSAPI;
98(95):
相关Api:
1.CreateToolHelpSnapshot;
2.Process32First & Process32Next;
uses TlHelp32;
*************************
判断平台用
Win32Platform;
Win32Platform=VER_PLATFORM_WIN32_WINDOWS <---Win98
Win32Platform=VER_PLATFORM_WIN32_NT <---WinNt

************************
clear?可以放在timer中,定期得到现在运行的程序。至于个参数,看帮助;
Ok,Credit?
 
有个办法比较好,用HOOK。把钩子挂进去,当有程序CREATE的消息出来,再捕捉它。
 
后退
顶部