更新时间:2016-01-24 22:01:53浏览次数:1+次
tip=_T("");
写代码:
void CGetTickCountDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
DWORD dwTime=GetTickCount();
d=dwTime/(24*60*60*1000);
dwTime%=24*60*60*1000;
//切割小时数
h = dwTime/3600/1000;
dwTime %=3600*1000;
//切割分钟数
m = dwTime /60/1000;
dwTime %=60*1000;
//切割秒数和毫秒数
s = dwTime/1000;
ms = dwTime%1000;
wsprintf(tip.AllocSysString(),_T("已开机:%d天%d小时%d分%d秒%d"),d,h,m,s,ms);
Invalidate();
CDialogEx::OnTimer(nIDEvent);
}
后来我想应该是AllocSysString函数的释放问题,就调用了::SysFreeString函数,最后还是装逼失败,就跑去研究了一下wsprintf函数,后来就换了一下,没有调用CString变量来存储,而是LPWSTR变量,后来又不行,又报错,在研究了一下发现是内存区的问题,于是我在构造函数中定义了1024大小的内存:
tip=new TCHAR[1024];(注意tip是LPWSTR类型)
运行了成功了。相关资讯