确定谁使用c#打开了文件

本文关键字:文件 | 更新日期: 2023-09-27 17:54:35

使用c#如何获得谁打开了文件的信息?用户名和机器名就足够了。

如果重要的话,我有Windows工作站通过Samba访问Linux文件服务器上的文件。我需要在工作站上运行的程序中使用这些信息

确定谁使用c#打开了文件

核心。net库没有任何办法做到这一点。

如果我理解正确的话,你想从Windows工作站A知道谁在Linux文件共享上打开了文件,其中一些打开文件的用户可能来自其他Windows盒子,如果是这种情况,那么你需要在Linux端有一个服务,你可以查询,以提供回你的Windows工作站。

在本地机器上这是可以实现的,但至少你需要与操作系统api互操作,比如NtQueryInformationFile和NtQueryObject(两者都没有正式文档)等等。像process monitor这样的工具动态地安装一个设备驱动程序来实现它们所做的检查级别,并且它只会告诉您哪个用户打开了哪些本地文件句柄。

我不认为你可以使用。net

在过去,当我遇到这个问题时,我总是最终使用进程监视器或进程资源管理器。