禁用按钮 t 分钟

本文关键字:分钟 按钮 | 更新日期: 2023-09-27 18:35:04

我想禁用一个按钮二十分钟,即使应用程序重新启动,它也应该保持禁用状态。

我正在考虑通过读取和存储按下按钮的时间来做到这一点,然后每分钟读取一次系统时间,当经过的时间为 20 分钟或更长时间时,启用按钮。

我认为这将允许我在应用程序重新启动时恢复按下按钮的时间;然后检查经过的时间。

你认为这是个好主意吗?还有其他选择吗?

禁用按钮 t 分钟

由于您希望即使应用程序重新启动,此设置也能正常工作,因此除非涉及外部代理,否则无法执行此操作。您可以尝试的一些选项包括:

  1. 从 http://time.windows.com 或nist等读取当前的互联网时间并将其存储在某个地方(注册表或本地文件)。在应用程序中使用计时器,该计时器不断从 Internet 获取最新时间并将其与保存值进行比较。这篇文章允许您使用 HTTP 和 TCP 端口 13 读取当前的互联网时间。

  2. 使用 Windows 计划任务。在某处设置一个布尔标志(再次是文件/注册表),并要求计划任务在 20 分钟后清除该标志。这篇文章应该让你开始创建计划任务。

  3. 创建一个在后台运行且可在后台运行的 Windows 服务,您可以调用该服务来设置标志以及应保持设置此标志的时间长度。该服务应运行内部计时器(并且不应依赖系统时间)来跟踪"即时报价"。经过指定的时间后,服务应清除该标志。

这是我的想法,

  1. 当应用程序启动时,禁用或隐藏按钮
  2. 设置禁用/隐藏时的时间戳,并存储在数据库表或文件中。
  3. 现在每分钟
  4. 或每五分钟阅读一次 - 以方便者为准,以查看是否已经过去了 20 分钟。
  5. 如果 20 分钟过去了,请从表或文件中删除该条目。

如果应用程序在设置时间戳之前崩溃或重新启动:1.设置时间戳时,请确保表或文件为空。如果没有,请启用计时器 - 时间戳在那里。

如果我是你,我基本上会禁用按钮然后启动一个定时器,每分钟,程序应该将剩余时间写入一个文件以及当前时间(也可以解密这个文件,这样用户就不能更改它了)

现在当程序重新启动时,它应该读取此文件,并根据 fil :) 中的写入时间启动计时器

如果您希望计时器即使在程序关闭时也能工作,那么您可以检查一下(File.GetLastAccessTime)

基本上,您应该将已写入 fil 的(当前时间)与上次访问时间进行比较,并创建一个函数来获取剩余时间:)

这可能不是一个完美的解决方案,但它会正常工作(我猜)

亲切的问候:)