网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
用VC++编写 网络计时计费工具
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
tTimerDlg,CDialog和BEGIN_MESSAGE_MAPCNetTimerDlg,CDialog之间插入ON_MESSAGEWM_NC,OnNc,用来申明对该消息的响应函数为OnNc。
  下面在CNetTimerDlg的OnInitDialog函数后部return TRUE语句前加入
SetTimer1 1000 NULL //设置一个时钟 编号是1 每过1秒钟响应一次。
用ClassWizard为WM_TIMER加一个响应函数 代码如下
void CNetTimerDlgOnTimerUINT nIDEvent
 m_bConnected = InternetGetConnectedStateflags NULL //判断是否连网的API
ifm_bConnected //如果连网
OnConnected//处理连网情况下的函数
else//如果没有连网
OnDisconnected//处理未连网情况下的函数
CDialogOnTimernIDEvent

以上代码中的InternetGetConnectedState是一个API函数,用来判断当前是否处于连网状态。它的第一个参数是一个指向DWORD类型的指针,用于接收上网方式的信息。第二个参数由系统保留,指定为NULL。

由于我们用到了有关网络的函数 所以在文件头部得添加一句
#include ″afxinet.h″
接下去分别定义OnConnected和OnDisconnected函数:
void CNetTimerDlgOnConnected
 int hour = 0//定义小时 分 秒
int minute = 0
int second = 0
if m_iTime < 60 //如果总的时间小于60秒...
 hour = 0
minute = 0
second = m_iTime
if m_iTime >= 60 && m_iTime < 3600//如果大于等于60小于3600
 hour = 0
minute = m_iTime / 60
second = m_iTime - minute  60
if m_iTime >= 3600 //如果大于等于3600
 hour = m_iTime / 3600
minute = m_iTime - hour  3600 / 60
second = m_iTime - 60  minute - 3600  hour
m_iTime ++//累加
m_strTime.Format″%d小时 %d分 %d秒″ hour minute second //格式化数据
SetDlgItemTextIDC_EDIT_SHOWTIME m_strTime//显示连网时间
switchflags //判断以什么方式上网
 case INTERNET_CONNECTION_MODEM//拨号上网
SetDlgItemTextIDC_EDIT_METHOD ″拨号上网″
break
case INTERNET_CONNECTION_LAN//通过局域网上网
SetDlgItemTextIDC_EDIT_METHOD ″通过局域网上网″
break
case INTERNET_CONNECTION_PROXY //通过代理服务器
SetDlgItemTextIDC_EDIT_METHOD ″通过代理服务器上网″
break
case INTERNET_CONNECTION_MODEM_BUSY//Modem忙于其他
SetDlgItemTextIDC_EDIT_METHOD ″Modem正忙 但不是上网″
break
double value//以下用于显示上网费用
m_strFee = AfxGetApp ->GetProfileString″Fee section″ ″fee″ NULL
//得到保存在文件中的相应数据
value = atofm_strFee
//调用atof函数将文字信息转化为double类型
value = value  m_iTime / 3600
m_strFee.Format″%lf元″ value
SetDlgItemTextIDC_EDIT_FEE m_strFee
//显示费用
void CNetTimerDlgOnDisconnected
 SetDlgItemTextIDC_EDIT_SHOWTIME ″未连接″//在编辑框中显示“非连接”
m_iTime = 0
然后分别在NetTimerDlg.h中定义如下
public
void OnDisconnected
void OnConnected
下一步为ID号为IDD_DIALOG1的对话框建立一个新类CFeeDlg 并且在NetTimerDlg.cpp头部添加
#include ″FeeDlg.h″
然后为它的“确定”按钮添加响应函数如下
void CFeeDlgOnOK
 CString text
GetDlgItemTextIDC_EDIT_YUAN text//获取编辑框IDC_EDI
  • 下一篇资讯: Windows任务栏编程
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号