C#winform软件使用倒计时(天)如何实现?

mayibushangshu 2010-09-25 04:16:47
一、关机几天后在开机如何减去关机的几天时间?
二、如果取系统时间,系统时间被修改怎么办?
单机版程序
...全文
572 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
dylike 2010-09-26
  • 打赏
  • 举报
回复
写入0磁道......即便重装系统依然有效....
hongjiaoli 2010-09-26
  • 打赏
  • 举报
回复
C#实现倒计时-->
private DateTime dtExam = DateTime.Parse("2010-07-26 17:42:00"); //定义时间到期时间

protected void Page_Load(object sender, EventArgs e)
{
}

protected void timerCD_Tick(object sender, EventArgs e)
{
if (this.dtExam < DateTime.Now) //如果设置的时间已过
{
this.timerCD.Enabled = false; //将Timmer置为false
labTimes.Text = "时间到!";
}
else
{
RefreshTime(); //刷新时间
}
}

private void RefreshTime() //刷新时间的方法
{
TimeSpan ts = this.dtExam - DateTime.Now; //时间差
this.labDays.Text = ts.Days.ToString().PadLeft(2, '0') + "天";
this.labTimes.Text = ts.Hours.ToString().PadLeft(2, '0') + ":" + ts.Minutes.ToString().PadLeft(2, '0') + ":" + ts.Seconds.ToString().PadLeft(2, '0');
}



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hongjiaoli/archive/2010/07/26/5767010.aspx
crackdung 2010-09-26
  • 打赏
  • 举报
回复
楼主是在做试用版本的软件。




my blog
http://ufo-crackerx.blog.163.com/
DaiLei831209 2010-09-26
  • 打赏
  • 举报
回复
序列化。当你把时间序列成文本文件时,别人修改这个序列化文件再使用时就会报错!一报错就证明此时间被人修改过。对象里有一个变量:一个是上次退出的时间!既然文本文件是改不了的,那么你只需对比启动时间和上次退出时间。
myhope88 2010-09-26
  • 打赏
  • 举报
回复
时间都可以改了,改了之后都没啥用了,除非能连网获取网络时间
兔子-顾问 2010-09-26
  • 打赏
  • 举报
回复
就找个没人注意的文件夹,保存个文本,记录下第一次或上一次的时间。下次启动时用当前时间和那个时间对比一下。
exiori 2010-09-26
  • 打赏
  • 举报
回复
WebService,本地写注册表人家重新安装系统又可以了。
forever803 2010-09-26
  • 打赏
  • 举报
回复
关注。
wuyq11 2010-09-25
  • 打赏
  • 举报
回复
软件安装后,第一次启动时,把系统时间经过加密写到注册表中.
以后,每次启动启动和退出时,都检测系统时间.
如果系统时间>注册表中的时间,修改注册表中的时间为当前系统时间.
通过web services获取网络时间实现判断
很多单机版修改时间都能实现延迟
onenewsmile 2010-09-25
  • 打赏
  • 举报
回复
找一下硬件方面的吧,直接读取晶振,自己计时。
龟仙 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wbpmrck 的回复:]
使用Webservice,获取网络时间。
本地时间靠不住的
[/Quote]

本地的所有东西记录的时间都靠不住,都可以修改。
最好是有服务器,取服务器上时间。

其他的办法貌似还没发现
chazikai24 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liuqilin1987 的回复:]

1、可以在关机时,记录下当前的时间,保存下来,text,XML等,
当开机之后,程序自动运行,获取当前的时间,取出关机时候的时间,然后进行减运算。
2、通过调用API函数(你去查查就知道了),禁止时间修改事件;或者是联网的情况下,直接获取网上的标准时间。
[/Quote]
他说了可以修改计算机时间。你第一条保存也没有用
第二条,如果需要校时怎么办?而且没有互联网怎么办?
liuqilin1987 2010-09-25
  • 打赏
  • 举报
回复
1、可以在关机时,记录下当前的时间,保存下来,text,XML等,
当开机之后,程序自动运行,获取当前的时间,取出关机时候的时间,然后进行减运算。
2、通过调用API函数(你去查查就知道了),禁止时间修改事件;或者是联网的情况下,直接获取网上的标准时间。
chazikai24 2010-09-25
  • 打赏
  • 举报
回复
不能上网,无法获取web时间,能改时间,本地时间又不靠谱,没办法了,最主要的问题是你设置了倒计时天数,关机程序是无法执行的。
Rock870210 2010-09-25
  • 打赏
  • 举报
回复
那就获取服务器时间,服务器时间一般不会改的。
mayibushangshu 2010-09-25
  • 打赏
  • 举报
回复
能给点详细的提示吗?
Assassin_ 2010-09-25
  • 打赏
  • 举报
回复
WebService


注册表也是可以修改的,

可以通过加密方法处理.

或者读取客户端的CPU时间,

lilin8905 2010-09-25
  • 打赏
  • 举报
回复
关注。
mayibushangshu 2010-09-25
  • 打赏
  • 举报
回复
有没有写注册表的办法啊?
ztenv 2010-09-25
  • 打赏
  • 举报
回复
1、TimeSpan
2、改了时间就没有办法了;除非获取网络时间;
加载更多回复(2)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧