【问题标题】:Get last exe file Execution Date (or Time) in Windows using .NET or VB6使用 .NET 或 VB6 在 Windows 中获取最后一个 exe 文件执行日期(或时间)
【发布时间】:2013-07-20 02:46:59
【问题描述】:

基本上,我在任何地方都找不到这个。我真正需要的只是上次执行的日期,甚至是上次关机的日期(即 exe 结束执行)。我什至不需要所有运行/关闭的目录,只需要最后一个。

我确信他们必须把它保存在某个地方。原因是,在控制面板(Win Vista)中,当您转到“程序和功能”时,您可以选择按程序的使用频率(运行/执行)对程序进行排序,因为这不会基于上次访问时间.然后,在他们的描述中,他们用“很少”、“有时”、“经常”、“经常”等术语来引用使用频率......

现在在 Win7 中,如果您右键单击列并从已安装程序列表控件中选择“更多...”,您将看到“上次使用时间”选项!这意味着上次使用的日期至少保存在 Win7 中的某个位置。

有什么想法吗?

更新:关于 LastAccess 日期时间: LastAccess 似乎太不可靠了(如果我错了,请纠正我)只要有东西(例如 windows)访问它,它就会不断变化。也许我应该问,Windows 是否会通过访问文件以从中读取信息(例如文件大小/日期等)来弄乱这个字段,尤其是在浏览文件夹时,或者 Windows 是否秘密访问文件以防止污染上次访问日期?

【问题讨论】:

  • 在 Windows Vista 及更高版本中,上次访问时间默认关闭且不更新,仅在创建时更改,因此 Windows 不应更改日期,除非手动打开
  • Explorer 会跟踪何时使用某些可执行文件的快捷方式(以保留经常访问的程序的列表),这些快捷方式可能会被IShellLink 接口公开。如果没有,我希望它不会公开。

标签: c# windows vb.net file vb6


【解决方案1】:

更新 2

这对于 MSI 安装显然不同。

从这个帖子得到的信息(最后一个帖子):

http://www.tomshardware.co.uk/forum/55552-45-remove-program-date

对于 MSI 安装,Windows 安装程序会在其自己的注册表中维护一个使用计数 >> 基于产品和功能,例如可以在下面找到

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\\Usage

这由 Windows Installer API 维护。

MsiUseFeature() 增加使用计数器 (http://msdn.microsoft.com/en-us/library/aa370502(VS.85).aspx) MsiGetFeatureUsage() 获取上次使用日期和使用次数

通过广告快捷方式启动应用程序或使用 MsiProvide*() 函数之一时,使用计数器也会增加。

更新

查看这篇文章: http://blogs.msdn.com/b/oldnewthing/archive/2004/07/09/178342.aspx

这些值似乎没有存储在任何地方,而更像是一个假设。因此,您不妨使用File.GetLastAccessTime 来获取此信息。

您也可以使用FileSystemWatcherProcess。然后在FileSystemWatcher 看到更改并启动 exe 时设置一个标志。

【讨论】:

  • 查看我的更新。另外,您认为 LastAccess DateTime 的可靠性如何?它被访问它的 Windows 进程污染的频率如何?
  • 好吧,我使用的是 Win7,但我需要我的解决方案才能在 WinXP 及更高版本,或至少在 WinVista 及更高版本(或尽可能多的操作系统)上工作。通过访问,我不确定我完全知道它的定义是什么。右键单击并检查其属性是否视为访问?
  • 另外,我阅读了 msdn 博客文章,这真是太棒了 - 它让我大吃一惊,哇!他们所要做的就是在操作系统第一个测试版发布日期之后为安装的应用程序弹出一条消息,以确保插入所有字段,并且您会看到所有开发人员更改代码以摆脱该消息框,在安装过程中询问更多详细信息哈哈。
  • 不,右键单击和检查不是更改访问时间的一部分。正如我所看到的那样,最好和最准确的方法是创建一个 FileSystemWatcher 来检查访问,如果进程正在运行,标记它并保存 DateTime,然后在进程不再运行时取消标记。跨度>
  • 那些安装程序注册表项并不是您想象的那样。见installpac.wordpress.com/2008/03/31/…
猜你喜欢
  • 2011-11-02
  • 2012-10-19
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
  • 2018-12-02
  • 2011-05-01
相关资源
最近更新 更多