C 检测鼠标是否在5秒内移动的功能

C 检测鼠标是否在5秒内移动的功能,c,windows,C,Windows,我想检测鼠标是否在5秒钟内移动,是否显示“是”时间流逝。这是我的代码,看起来还可以,但不能正常工作 void timer() { if (ismouseclick(WM_MOUSEMOVE)) { movetime=clock(); clearmouseclick(WM_MOUSEMOVE); } if ((clock()-movetime)<6) { sprintf(time_str,"%d",clo

我想检测鼠标是否在5秒钟内移动,是否显示“是”时间流逝。这是我的代码,看起来还可以,但不能正常工作

void timer()
{
    if (ismouseclick(WM_MOUSEMOVE))
    {
        movetime=clock();
        clearmouseclick(WM_MOUSEMOVE);
    }
    if ((clock()-movetime)<6)
    {
        sprintf(time_str,"%d",clock();
        outtextxy(275,483,"Time: ");
        outtextxy(340,483,time_str);
    }
    else
    {
        setfillstyle(1,0);
        bar(275,483,370,500);
    }
}
void timer()
{
如果(ismouseclick(WM_MOUSEMOVE))
{
移动时间=时钟();
clearmouseclick(WM_MOUSEMOVE);
}
if((clock()-movetime)它的about clock()函数。如果需要秒,需要将它除以CLK_TCK(一个常量)

(clock()/CLK_TCK)

clock()
通常以毫秒为单位返回经过的时间(这取决于操作系统,因此请检查操作系统的文档),因此当您检查
(clock()-movetime)是否<6
,这不是以实际秒为单位的运行时间,很可能是毫秒。因此,您可能没有看到预期的打印输出(即,它可能在您调用
timer()
时打印,也可能根本不打印).

您使用的是什么操作系统、库等?显示包含的完整源文件。
\includes
。C没有内置的对鼠标等外围设备的支持。您必须指定在哪个环境中执行此操作。
WM\uu
常量看起来像Win32,但为什么要让我们猜测?什么不起作用是否正确?我使用winbgi库,函数给出了非常大的数字。“clock()”是否返回秒数?