| 发表于:2007-07-09 09:05:00 楼主 |
朋友家里用的adsl是按时间计费的(总觉得这种方式不划算,似乎比包月要贵许多),需要一个用来计时的小工具。上网查了半天,要不就是需要安装这个安装那个,要不就是得注册,还个个大的要命,动辄几百k,有的还要好几m。最受不了就是搞的神神秘秘,似乎含有军事级代码似的。唉……,自己来吧。 既然是adsl计时器,那么就要知道adsl连接的时间,这也许会用到ras*,我确实不太了解这一系列的api。如果非要用也违背我自己的原则:工作中尽量不涉及自己不熟悉的知识域(花在工作上的时间越少,用来学习的时间就越多,我认为在学习过程中学习效率远比工作中要高)。 那到底该怎么实现呢?其实,adsl连接的时间可以说就是线的时间,只要确定了在线的时间也就相当于确定了adsl连接的时间。 微软似乎提供了几个api用来判断是否连入internet,可是我依然不熟悉。不过我知道,只要可以解析域名应该就可以算在线了,所以我选择利用gethostbyname来判断adsl是否连接。 1.注册一个nt service,该服务不停的解析www.google.com和www.baidu.com,只要解析出一个就算在线。然后将在线的时间累加并记录于共享内存中。 2.编写gui,拥有两个功能显示和配置。显示就是把共享内存中的数据定时刷新到界面上,配置就是上网时限什么的。 3.用nt service定时启动gui. 完工! 需要的可以来这里下载http://download.csdn.net/source/205459 |
|
|
|
|