如何在特定的本地时间运行Delphi Win32应用程序?

 超可爱萌地1983 发布于 2023-02-13 19:58

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

是否有可能在不改变系统时间的情况下为应用程序提供特殊时间?这可以来自程序外部甚至内部.

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

1 个回答
  • 有一个名为RunAsDate的现有工具:

    描述

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

    它是如何工作的 ?

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

    系统要求

    RunAsDate适用于Windows 2000,Windows XP,Windows Server 2003,Windows Server 2008,Windows Vista,Windows 7和Windows 8.不支持旧版本的Windows.也是x64版本,可单独下载,用于x64应用程序.

    在此输入图像描述

    2023-02-13 20:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有