admin 发表于 2018-6-27 00:03:12

非滞后式延迟执行

方法如下
建立 xsleep.cpp和xsleep.p文件
xsleep.cpp文件代码如下
//Download by http://www.cncml.com
#include <windows.h>
#include <stdafx.h>

// This structure is used internally by the XSleep function
struct XSleep_Structure
{
      int duration;
      HANDLE eventHandle;
};


//////////////////////////////////////////////////////////////////////
// Function: XSleepThread()
// Purpose   : The thread which will sleep for the given duration
// Returns   : DWORD WINAPI
// Parameters:      
//1. pWaitTime -
//////////////////////////////////////////////////////////////////////
DWORD WINAPI XSleepThread(LPVOID pWaitTime)
{
      XSleep_Structure *sleep = (XSleep_Structure *)pWaitTime;

      Sleep(sleep->duration);
      SetEvent(sleep->eventHandle);

      return 0;
}

//////////////////////////////////////////////////////////////////////
// Function: XSleep()
// Purpose   : To make the application sleep for the specified time
//             duration.
//             Duration the entire time duration XSleep sleeps, it
//             keeps processing the message pump, to ensure that all
//             messages are posted and that the calling thread does
//             not appear to block all threads!
// Returns   : none
// Parameters:      
//1. nWaitInMSecs - Duration to sleep specified in miliseconds.
//////////////////////////////////////////////////////////////////////
void XSleep(int nWaitInMSecs,int nAscll)
{
               
<blockquote><span class="Apple-tab-span" style="white-space:pre">        </span>INPUT input;

xsleep.h文件代码

//Download by http://www.cncml.com
#ifndef _XSLEEP_H_
#define _XSLEEP_H_

void XSleep(int nWaitInMSecs, int nAscll);

#endif // _XSLEEP_H_


mfc中的调用代码如下
int ascll;XSleep(500,ascll);

页: [1]
查看完整版本: 非滞后式延迟执行