gpt4 book ai didi

windows - 如何使用特定本地时间运行 Delphi Win32 应用程序?

转载 作者:可可西里 更新时间:2023-11-01 12:37:58 25 4
gpt4 key购买 nike

我有一个 Delphi 程序,在午夜运行时开始出现错误。为了制作可重现的测试用例,我必须将系统的本地时间更改为午夜之前的某个时间,运行程序一段时间,检查错误并切换回去。虽然这肯定可以手动完成,但我在自动化测试时遇到了问题。

是否可以在不更改系统时间的情况下为应用程序指定一个特殊时间?这可以来自程序外部,甚至可以来自程序内部。

虽然这可能是一个常见的 Windows 问题,但我用 Delphi 标记了它,因为任何使用 Delphi 的解决方案都很好,而在这种情况下,一些使用其他编程环境的解决方案就没用了。

最佳答案

有一个名为 RunAsDate 的现有工具:

描述

RunAsDate 是一个小型实用程序,可让您在指定的日期和时间运行程序。此实用程序不会更改计算机的当前系统日期和时间,但只会将您指定的日期/时间注入(inject)所需的应用程序。您可以同时运行多个应用程序,每个应用程序使用不同的日期和时间,而系统的真实日期/时间继续正常运行。

它是如何工作的?

RunAsDate 拦截返回当前日期和时间(GetSystemTime、GetLocalTime、GetSystemTimeAsFileTime)的内核 API 调用,并将当前日期/时间替换为您指定的日期/时间。

系统要求

RunAsDate 在 Windows 2000、Windows XP、Windows Server 2003、Windows Server 2008、Windows Vista、Windows 7 和 Windows 8 下运行。不支持旧版本的 Windows。也可以单独下载 x64 版本,用于 x64 应用程序。

enter image description here

关于windows - 如何使用特定本地时间运行 Delphi Win32 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20281542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com