这个问题迄今为止还没有人能提出建设性意见,来碰碰运气(100分)

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

batconv

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要这样一种功能,在双击运行某种后缀名的文件时(如*.exe或*.swf等),能发出某种标志,让我的程序接收到。注意,不是双击的文件运行后在内存里查找,是在其运行前,或者是双击前,或者是选中时。目的是阻止其运行,发现后使其停止。
 
驱动或HOOK API才是王道。
 
改注册表那个文件关联就可以了
 
同意楼上,
你可以这样做:在注册表中关联你的那类文件,在双击的时候运行你的程序,你自己再判断是需要启动其他程序还是中止
 
估计只能在注册表中关联了,希望你能找到答案。
 
注册表肯定是不行的,LZ的要求估计要走白河愁的思路才比较好
 
谢谢大家参与,我的目的不是对电脑上的所有这种文件操作,只是对某个盘的此类文件操作,我是学校机房管理员,不让学生在电脑上玩游戏,而上述两种文件类型正可能是游戏,所以要阻止其运行,且只对U盘或光盘有效,所以用注册表的方法可能不行。老白的方法的确可以,但是我对驱动或HOOK API一窍不通,可否请朋友们提供点代码帮我拓展思路,谢谢。
 
哎!人在昆明的答案是正确的!

关联后,你知己在判断是否是U,光盘即可!
 
谢谢,那我试试看。
我还真没做过关联的程序,只知道有些病毒会这样,接下来我想知道的是通过关联启动我的程序后如何将启动应该启动的程序?如swf文件,关联启动我的程序后如何接着启动默认的播放程序,注册表中如何设置?
 
貌似有不少管理工具?比如ARP之神还是什么的,能限制自定义进程
或者LZ既然是老师,给每台电脑上BAT批处理,或者干脆锁了USB和光驱
 
唐朝兄:
怎么可以锁呢,学生要做作业有时也需要用USB交换文件呀,我只需要限制他们玩游戏就行了。
 
得借助软件吧
 
来自:白河愁, 时间:2008-9-18 22:42:13, ID:3922178
驱动或HOOK API才是王道。

正解!~驱动比较好!~
 
用的着驱动吗?直接hook createprocess就解决问题了。判断lpFile即可进行拦截处理了。这个没有必要用驱动了,本身createprocess不会在windows被频繁的调用,所以这样拦截不影响系统性能的。如果是拦截一些频繁调用的api函数,比如closehandle,那么需要考虑驱动来做,否则,系统容易被搞死。
 
AD及组策略.如果什么都要HOOK的话,太可怕了.
 
这个hook createprocess即可了。这个api调用不频繁,没有任何问题。
 
简单点儿就改注册表调用自己的程序来检查并运行。
 
HOOK API

看看MadCollection里的demo。

符合你的要求
 
钩子是唯一的解决之道.如用汇编也可以,但没有人会.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部