注册 登录
编程论坛 VFP论坛

HOOK技术?

zhousr 发布于 2021-04-27 17:17, 1610 次点击
坛中有位大佬说过:有想法,就会有办法。我有个想法,又来寻求办法了

大概是这么个想法:在设计阶段,文件包中有很多文件,如.scx、.prg、.DBF等等。当我们单击或双击它时,VFP知道我们是要打开它。打开以后我们只能对打开的文件进行修改、编辑等操作。这些操作都是在VFP框架内进行的。当我们单击或双击时,Windows系统肯定也知道我们对哪个文件执行了单击或双击操作。我就想捕获到这个信息,然后执行某个操作,比如弹出一个提示框之类的。这个操作应该就是跳出VFP框架了。
因为不知道该如何实现,也就不清楚该用什么关键字搜索,乱搜了一通,好像是说有个什么钩子(HOOK)可以实现。对这钩子我一窍不通,请问一下:想实现类似功能,该用什么关键字搜索呢?或者,您就有现成的代码,能惠赐不?
谢谢!!
7 回复
#2
zhousr2021-04-27 20:45
其实就是不想加密了。你反编译吧,反编出来以后你总要碰我某一个.prg或者.scx的。我只要捕捉到你的这个动作,要不要你重系统就是我说了算
#3
zhousr2021-04-27 20:46
重装
#4
schtg2021-04-28 05:38
点击某个prg文件就重装系统,太狠了吧,哈哈^_^
#5
吹水佬2021-04-28 09:55
VFP写HOOK能力很有限,找其他开发的接口API用
HOOK API 也有多种方法,文件处理API主要是CreateFile
或者用监控文件,但只能监视,不能拦截,相关主要API
** Kernel32库
FindFirstChangeNotification()
ReadDirectoryChangesW()
或:
** Ole32库
CoTaskMemFree()
** Shell32库
SHILCreateFromPath()
SHChangeNotifyRegister()
SHChangeNotifyDeregister()
SHGetSpecialFolderLocation()
SHGetPathFromIDList()
   
#6
zhousr2021-04-28 11:12
谢谢吹版我好好学习一下!
#7
whinda2021-05-04 11:28
你是想用在操作系统级的HOOK,还是VFP内部?VFP程序设计时是可以在项目内通过Project HOOK实现你的操作。
在操作系统层面,你得用消息钩子。
#8
zhousr2021-05-04 12:41
以下是引用whinda在2021-5-4 11:28:25的发言:

你是想用在操作系统级的HOOK,还是VFP内部?VFP程序设计时是可以在项目内通过Project HOOK实现你的操作。
在操作系统层面,你得用消息钩子。


谢谢whinda!!我是想在操作系统层面使用,能否提供点资料供我学习一下?
1