You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win10下如何查询程序最后使用时间?技术方案求助

查询程序最后使用时间的可行方案

以下是几个经过验证的实用方案,针对你之前尝试的无效情况给出替代思路:

  • 利用Windows事件日志追踪进程启动
    Windows系统的事件日志会记录进程启动相关事件,多数桌面版本中可关注Microsoft-Windows-Security-Auditing提供的事件ID 4688(进程创建)。你可以用命令行快速筛选目标程序的启动记录:

    wevtutil qe Security /q:"*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4688]] and EventData[Data[@Name='NewProcessName']='C:\\Path\\To\\Your\\target.exe']" /f:text
    

    日志中的时间戳就是程序最后启动的时间,注意系统会自动覆盖旧日志,需确保日志保留时长足够。

  • 检查Prefetch预取文件的访问时间
    Windows会在C:\Windows\Prefetch目录生成预取文件,文件名格式为[EXE文件名]-[哈希值].PF,这些文件的最后访问时间通常对应程序最后一次运行的时间。不过默认Windows关闭了NTFS最后访问时间记录,需先开启:
    以管理员身份执行命令:

    fsutil behavior set disablelastaccess 0
    

    重启系统后,可通过以下命令按访问时间排序查看预取文件:

    dir C:\Windows\Prefetch\*.PF /TA /O-D
    

    注意预取文件可能被系统定期清理,且部分程序不会生成预取文件。

  • WMI查询运行中程序的启动时间
    如果目标程序当前正在运行,可通过WMI快速获取其启动时间,比如用PowerShell命令:

    Get-WmiObject Win32_Process | Where-Object {$_.Name -eq "target.exe"} | Select-Object Name, CreationDate
    

    但该方法仅适用于程序处于运行状态的场景,程序退出后无法追溯历史记录。

  • 启用NTFS最后访问时间后检查EXE文件
    你之前检查EXE最后修改日期无效,是因为修改日期和运行时间无关,但开启NTFS最后访问时间(即上述Prefetch方案中的fsutil命令)后,EXE文件的最后访问时间会在程序运行时更新,此时可通过文件属性或命令dir "C:\Path\To\target.exe" /TA查看。不过该方法受系统清理、文件移动等操作影响,准确性不如前两种。

内容的提问来源于stack exchange,提问作者SIrclassic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:42:41