应用程序如何得知(捕获)WIN95启动和关闭应用程序(100分)

  • 主题发起人 主题发起人 六窍通
  • 开始时间 开始时间

六窍通

Unregistered / Unconfirmed
GUEST, unregistred user!
应用程序如何得知(捕获)WIN95启动和关闭应用程序。
 
仿照屏幕取词接管TextOut的办法
接管shellexecute, Winexec等函数
 
uses tlhelp32
....

procedure TForm1.Button1Click(Sender: TObject);
var lppe: TProcessEntry32;
found : boolean;
Hand : THandle;
begin
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
found := Process32First(Hand,lppe);
while found do
begin
ListBox1.Items.Add(StrPas(lppe.szExeFile));
found := Process32Next(Hand,lppe);
end;
end;

然后设置time监控,隔一定时间扫描一次,发现新的进程
或kill了的进程!
 
使用 PeekMessage 函数
 
zx:
你又把我贴的贴子贴过来了!:)
 
JIANGTAO:所说的例子是16BIT的,95里如何使用,情用代码说明。
ZX:这个方法我早就知道,我认为应当有更好的方法。
HUIZHANG:我可能没有说清楚,说白了就是:WIN95的应用程序的运行日志。
 
各位兄弟:线将本人的研究和大家分享。
方法还是采用HOOK但是不在HOOK中做文章,而是在DLL中做文章。
每个被接入HOOK的PROCESS都要装载HOOKDLL。
每个DLL都有一个入口函数,接受参数:DLL状态
1。Dll_Process_Attach
2。DLL_Thread_Attach
3。DLL_Thread_Detach
4。Dll_Process_Detach
这样只要针对1。4进行处理就可以了。
至于HOOK
直接CallNextHookEx

我可以给所有人加分,除了我自己:-<
 

Similar threads

回复
0
查看
724
不得闲
回复
0
查看
978
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部