如何确定我创建的文件是否是在当前用户的登录会话期间创建的?

时间:2010-12-15 22:45:34

标签: .net windows winapi wmi

如何确定我创建的文件是否是在当前用户的登录会话期间创建的? Win32_LogonSession.LogonId每个会话真的是唯一的吗?

编辑:
我正在编写文件,并计划将logonid作为标识符写入文件。对不起,以前不清楚。我一直在寻找,但我的win32知识仍然不是应该在哪里 - 我如何找到运行当前进程的用户的登录?

我只需要找到会话的一些唯一标识符,我稍后可以使用它来查看文件是在当前会话期间创建的还是另一个。

1 个答案:

答案 0 :(得分:1)

LogonId是一个LUID:它是一个64位的数字。它保证在两次重新启动之间是唯一的,但重新启动操作系统会有效地重置可能的值池。

我认为你不能将它用于所述目的,除非可以依赖LogonId,文件的创建时间和系统启动时间的组合:如果文件是在系统启动之前创建的,那么你就知道了不是当前创建该文件的会话,否则您可以依赖LogonId的值来进行区分。有一点需要注意:文件的创建时间可以由用户调整,因此很大程度上取决于您的具体情况(您的环境是否允许这样做等)。