lonewolf 发表于 2005-4-6 09:09:11

关于get_time();

各位老大请了!

请问get_time()函数得到的是以秒为单位的时间,

不知道有没有什么函数可以得到以毫秒为单位的时间,

我们是做嵌入式开发的,要求的响应时间都在10-100ms以内

所以,WinRunner是不是不检测出来?

pcl2004_27 发表于 2005-4-6 10:09:33

可以实现,你这样用Api函数实现!
代码如下,你可以封装成DLL使用!

提供思路如下:
SYSTEMTIME ti;
GetSystemTime(&ti);
////我们可以通过读取SYSTEMTIME结构体成员直接得到时间
typedef struct _SYSTEMTIME {
    WORD wYear;
    WORD wMonth;
    WORD wDayOfWeek;
    WORD wDay;
    WORD wHour;
    WORD wMinute;
    WORD wSecond;
    WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;

你可以得到毫秒的时间!

shyfish 发表于 2005-4-6 10:32:55

有个API函数,GetTickOut()(不知道是在哪个系统DLL里,自己找找吧),单位是毫秒级,两次GetTickOut()得到的值相减,即可得到时差。当然,如果自己写dll,应该用Timer也可以,只不过好像Timer更不精确。如果还要更精确的,可以用这个:QueryPerformanceCounter(),看到的,没用过,据说可以精确到微秒级:P

生如火花 发表于 2005-4-6 10:36:52

API是一个奇妙的世界。呵呵

lonewolf 发表于 2005-4-6 11:14:23

Originally posted by shyfish at 2005-4-6 10:32 AM:
有个API函数,GetTickOut()(不知道是在哪个系统DLL里,自己找找吧),单位是毫秒级,两次GetTickOut()得到的值相减,即可得到时差。当然,如果自己写dll,应该用Timer也可以,只不过好像Timer更不精确。如果还要更 ...


这位哥,是GetTickCount()吗?

生如火花 发表于 2005-4-6 11:22:31

Declare Function GetTickCount Lib "kernel32.dll" () As Long

shyfish 发表于 2005-4-6 14:06:41

啊,不好意思,敲错了:(

wiko2000 发表于 2007-5-22 14:53:50

先看下

有没有完整的用法....提供一个谢谢....

fengxueren 发表于 2007-5-31 12:46:01

Declare Function GetTickCount Lib "kernel32.dll" () As Long 是在qtp中的声明方法
在winrunner中,应该为

load_dll("kernel32.dll");
extern longGetTickCount ();

然后就可以用GetTickCount()这个函数了

dionysus 发表于 2007-5-31 16:54:27

ls的方法很好。最近也在看WR调用系统API的一些东西,发现这样对WR的使用将会是一个很大的拓展,会是一个新的研究方向(虽然老外早几年都已经讨论滥了,但我们在这方面的经验积累还是很少,知耻而后勇吧)

huco7 发表于 2007-5-31 17:05:41

学习中......
页: [1]
查看完整版本: 关于get_time();