0

我试图挂钩打开文件时(双击、打开上下文菜单等)时调用的任何资源管理器,但是我不知道是哪个函数。

最初,我认为它是 ShellExecute,据我所知,它的作用相同,但在连接到它之后,我了解到它仅在打开新的资源管理器窗口时使用。

任何想法我应该挂钩哪个功能?

4

4 回答 4

0

There are the ShellExecute hooks, but now (after XP) are deprecated because everybody used them for the strangest purposes. Have a look at this for some more detail, and at this for some documentation.

于 2009-11-24T22:35:44.713 回答
0

如果你想拦截这些东西,只需将自己注册为 shell 项的默认动词即可。这里有一些样本

如果您只是想知道是否有人更改了您感兴趣的某些文件,您应该通过FindFirstChangeNotification()和相关 API 注册更改通知。

于 2009-11-24T17:29:07.080 回答
0

听起来AppInit_DLLs注册表项应该足够好。

制作一个简单的 DLL 并GetCommandLine()在 DllMain 函数中调用以获取正在执行的应用程序的完整命令行。

于 2009-11-25T07:04:12.177 回答
-1

比编写设备驱动程序简单得多(但没那么有趣)是 MS 研究工具detours。玩得开心!

于 2009-12-12T10:38:58.957 回答