Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测创建文件夹/复制用户/explorer.exe创建的文件?_C#_C_Windows_Winapi_Explorer - Fatal编程技术网

C# 如何检测创建文件夹/复制用户/explorer.exe创建的文件?

C# 如何检测创建文件夹/复制用户/explorer.exe创建的文件?,c#,c,windows,winapi,explorer,C#,C,Windows,Winapi,Explorer,如何检测创建文件夹/复制用户/explorer.exe创建的文件? 最好是在C#或VB.NET中,但C是可以的。 (注意,我希望由最终用户而不是Windows/应用程序创建文件夹) 我找到了这个使用SHChangeNotifyRegister的示例应用程序: 但在测试之后,我发现它不仅检测最终用户创建的文件/文件夹,还检测应用程序创建的文件/文件夹(例如,在Excel中点击“保存”时) 是否因为其检测范围是“资源管理器命名空间”?是否可以更改示例应用程序以检测文件和文件夹的创建?仅由使用exp

如何检测创建文件夹/复制用户/explorer.exe创建的文件? 最好是在C#或VB.NET中,但C是可以的。 (注意,我希望由最终用户而不是Windows/应用程序创建文件夹)

我找到了这个使用SHChangeNotifyRegister的示例应用程序:

但在测试之后,我发现它不仅检测最终用户创建的文件/文件夹,还检测应用程序创建的文件/文件夹(例如,在Excel中点击“保存”时)


是否因为其检测范围是“资源管理器命名空间”?是否可以更改示例应用程序以检测文件和文件夹的创建?仅由使用explorer shell的最终用户启动的文件和文件夹?

explorer是一个应用程序。它代表用户创建文件和文件夹,与任何其他应用程序创建文件和文件夹的方式相同。没有神奇的“由用户发起”标志。好的,您可以只处理我的问题,询问Explorer.exe,而不使用“最终用户”条件。您是否尝试过
fSources=SHCNRF\u ShellLevel
?它似乎只提供来自explorer.exe(又称“shell”)的通知