社区
C++ Builder
帖子详情
我通过GetTickCount (DWORD型)得到时间,我想把这个GetTickCount,转换成毫秒,怎么做?
jerbee
2004-11-18 03:52:57
我通过GetTickCount (DWORD型)得到时间,我想把这个GetTickCount,转换成毫秒,怎么做?
t1 = GetTickCount;
.....
t2 = GetTickCount;
....
t3 = t2-t1;
t3就是一个整形,我想把这个t3 转换成 毫秒。怎么办?
...全文
507
5
打赏
收藏
我通过GetTickCount (DWORD型)得到时间,我想把这个GetTickCount,转换成毫秒,怎么做?
我通过GetTickCount (DWORD型)得到时间,我想把这个GetTickCount,转换成毫秒,怎么做? t1 = GetTickCount; ..... t2 = GetTickCount; .... t3 = t2-t1; t3就是一个整形,我想把这个t3 转换成 毫秒。怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hillspring
2004-11-18
打赏
举报
回复
那就把ms转换城h,m,s,ms,再显示出来……
jerbee
2004-11-18
打赏
举报
回复
还有 , 怎么把 00:00:00.XXX 的时间格式 转化成 纯毫秒时间
jerbee
2004-11-18
打赏
举报
回复
还有 , 怎么把 t1 转化 成 : 00:00:00.XXX 得时间格式
fjye
2004-11-18
打赏
举报
回复
GetTickCount()
获取系统执行时间,返回毫秒值
超过39.7天清零
fjye
2004-11-18
打赏
举报
回复
这个整型就是你要的毫秒值了,不用转
VC 6.0 Get
Tick
Count
() 高精度计时功能的实现实例.rar
本源码演示在VC 6.0环境下实现高精度计时功能,可在此基础上修改完善成一个
毫秒
级计时器。运行编译文件后,单击窗口中的按钮,即可激活计时功能,在弹出的窗口中显示计时
时间
,以
毫秒
计,请参见截图。计时部分的具体实现代码请参考以下代码: void CDemoDlg::OnTest() { //开始
时间
D
WORD
dwStart = Get
Tick
Count
(); for (int i = 0; i < 10000; i ) { for (int j = 0; j < 10000; j ) { } } //结束
时间
D
WORD
dwStop = Get
Tick
Count
(); //
时间
间隔 D
WORD
dwElapse = dwStop - dwStart; CString strText = _T(""); strText.Format(_T("
时间
间隔:%d
毫秒
"), dwElapse); AfxMessageBox(strText); }
一个高精度的VC
毫秒
级计时器.rar
一个高精度的VC
毫秒
级计时器,计算两个
时间
点之间的
时间
差以
毫秒
计,而不是秒,这个比较精确了。下面是核心代码: //开始
时间
D
WORD
dwStart = Get
Tick
Count
(); for (int i = 0; i < 10000; i ) { for (int j = 0; j < 10000; j ) { } } //结束
时间
D
WORD
dwStop = Get
Tick
Count
(); //
时间
间隔 D
WORD
dwElapse = dwStop - dwStart; CString strText = _T(""); strText.Format(_T("
时间
间隔:%d
毫秒
"), dwElapse); AfxMessageBox(strText); 完整的可编译实例请下载源码包。
C语言获取当前系统
时间
的几种方式
C语言中如何获取
时间
?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒 2 使用clock_t clock()
得到
的是CPU
时间
精确到1/CLOCKS_PER_SEC秒 3 计算
时间
差使用double difftime( time_t timer1, time_t timer0 ) 4 使用D
WORD
Get
Tick
Count
() 精确到
毫秒
5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒 6 要获取高精度
时间
,可以使用 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency) 获取系统的计数器的频率 BOOL QueryPerformance
Count
er(LARGE_INTEGER *lpPerformance
Count
) 获取计数器的值 然后用两次计数器的差除以Frequency就
得到
时间
。 7 Multimedia Timer Functions The following functions are used with multimedia timers. timeBeginPeriod/timeEndPeriod/timeGetDevCaps/timeGetSystemTime
windows编程资料大全
在编写程序的过程中,我遇到了这样的需求:在基于Windows 9x 或 Windows NT4.0 的程序中,要求确定键盘、鼠标处于空闲状态的
时间
。查询了有关资料文档以后,发现Windows 9x和Windows NT4.0 没有提供API或系统调用来实现这样的功能。但是,在Windows 2000中提供了一个新的函数:GetLastInputInfo(),这个函数使用结构 LASTINPUTINFO 作为参数: LASTINPUTINFO lpi; lpi.cbSize = sizeof(lpi); GetLastInputInfo(&lpi); 调用函数GetLastInputInfo()以后, 结构成员lpi.dwTime 中的值便是自上次输入事件发生以后的
毫秒
数。这个值也就是键盘、鼠标处于空闲状态的
时间
。可惜的是这个函数只能在Windows 2000中使用,Windows 9x 或Windows NT4.0不提供此API函数。那么,如何在Windows 9x 或Windows NT4.0中实现GetLastInputInfo()的功能呢?笔者的方法是利用系统钩子对键盘、鼠标进行监控。 Windows中的钩子实际上是一个回调函数,当用户有输入动作的时候,Windows要调用这个函数。比较典
型
的系统钩子应用就是键盘钩子和鼠标钩子: HHOOK g_hHookKbd = NULL; HHOOK g_hHookMouse = NULL; 在Windows中,一个系统(相对于一个特定进程而言)钩子必须用一个动态链接库(DLL)来实现。不妨将这个动态链接库命名为IdleUI.dll。 这个动态链接库在Windows 9x和Windows NT4.0 中实现了GetLastInputInfo()的功能。IdleUI.dll中有三个函数: BOOL IdleUIInit() void IdleUITerm(); D
WORD
IdleUIGetLastInputTime(); IdleUIInit()是环境初始化函数,IdleUITerm()是环境清理函数,分别在MFC应用程序的InitInstance() 和 ExitInstance()中调用它们。当用IdleUIInit()
做
完初始化后,就可以调用第三个函数IdleUIGetLastInputTime()来获取最后一次输入事件后的时钟。从而实现与GetLastInputInfo()一样的功能。程序TestIdleUI.exe是用来测试IdleUI动态库的,程序中调用了IdleUIInit 和 IdleUITerm,同时在程序的客户区中间显示键盘、鼠标空闲的秒数。 void CMainFrame::OnPaint() { CPaintDC dc(this); CString s; D
WORD
nsec = (Get
Tick
Count
() - IdleUIGetLastInputTime())/1000; s.Format( "鼠标或键盘空闲 %d 秒。",nsec); CRect rc; GetClientRect(&rc); dc.DrawText(s, &rc, DT_CENTER|DT_VCENTER|DT_SINGLELINE); } 图一显示了TestIdleUI运行时的情形。 图一 TestIdleUI运行画面 为了连续的显示,TestIdleUI设置刷新定时器间隔为一秒。 void CMainFrame::OnTimer(UINT) { Invalidate(); UpdateWindow(); } 运行TestIdleUI,当键盘和鼠标什么也不
做
时,可以看到计时器跳动,当移动鼠标或按键时,计时器又恢复到零,这样就实现了对输入设备空闲状态的监控。实现细节请看下面对IdleUI.dll工作原理的描述: 首先调用IdleUIInit ()进行初始化,安装两个钩子:一个用于监控鼠标输入,一个用于监控键盘输入。 HHOOK g_hHookKbd; HHOOK g_hHookMouse; g_hHookKbd = SetWindowsHookEx(WH_KEYBOARD,MyKbdHook,hInst, 0); g_hHookMouse = SetWindowsHookEx(WH_MOUSE,MyMouseHook,hInst, 0); 当用户移动鼠标或按下键盘键时,Windows调用其中的一个钩子并且钩子函数开始记录
时间
: LRESULT CALLBACK MyMouseHook(in
电脑开机
时间
的计算代码
函数功能:Get
Tick
Count
返回(retrieve)从操作系统启动到现在所经过(elapsed)的
毫秒
数,它的返回值是D
WORD
. 知道了这个,这个程序也就不是什么难事了。。。 CODE: 代码如下:#include
#include
#include
#include
typedef struct node { int h; int m; int s; } *PTime; void sleep(long wait); void gettime(); int main() {
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章