您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13816|回复: 0
打印 上一主题 下一主题

[C++学习资料] 非滞后式延迟执行

[复制链接]
跳转到指定楼层
楼主
发表于 2018-6-27 00:03:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
方法如下
3 M: Y5 J" H3 }8 H! v建立 xsleep.cpp和xsleep.p文件
! e& Y# d1 X" K! C  z; Ixsleep.cpp文件代码如下
. l) Y& k0 B" q$ m
  1. //Download by http://www.cncml.com
    1 h* F, H* ?+ P- l2 v4 U# o
  2. #include <windows.h>& c9 K! L% t1 Y" K
  3. #include <stdafx.h>
    " d# z# J6 N  v2 X* ~: x6 i! r9 {

  4. + ^$ {7 _+ c/ p8 u( `5 Z
  5. // This structure is used internally by the XSleep function $ D& {: W7 W( F+ u: O2 i
  6. struct XSleep_Structure
    + M' ~  o, Q; X6 L$ {( ]
  7. {
    / k3 c( _. F) A6 ]9 A
  8.         int duration;
    4 ?( F/ t% }/ R# o$ c% k
  9.         HANDLE eventHandle;
    8 l$ O8 B# [5 F% M& M
  10. };
    9 p- h' h; R1 @
  11. + k) {. s9 h! `+ c
  12. 7 S0 r6 q  {% [& e" A3 o+ g% U
  13. //////////////////////////////////////////////////////////////////////
    ' q* q, g& P4 k+ g, \/ j- E
  14. // Function  : XSleepThread()
    ( U8 A  V+ g8 `4 b; _- |
  15. // Purpose   : The thread which will sleep for the given duration
    # Q. z9 D  k4 z+ U. u
  16. // Returns   : DWORD WINAPI
    . q/ v; v5 `0 P5 ~/ ?/ P2 u
  17. // Parameters:       9 B3 V0 E( j: x5 r
  18. //  1. pWaitTime -
    6 ~" p8 E1 W( g1 c
  19. //////////////////////////////////////////////////////////////////////
    3 ]5 I* d; ?' j& x$ g! m
  20. DWORD WINAPI XSleepThread(LPVOID pWaitTime)6 T9 P& w( V5 A3 k
  21. {
    3 @; s: ^$ g. ^9 p+ Y1 v& C
  22.         XSleep_Structure *sleep = (XSleep_Structure *)pWaitTime;- b& d2 ^3 i) }" }, N( N
  23. # t, d' `0 i1 b4 m
  24.         Sleep(sleep->duration);
    % o' ^2 ^0 B9 E5 `4 i4 ~
  25.         SetEvent(sleep->eventHandle);. F' {0 F' b! N, @
  26. * [1 s2 Y, s; u( d  y. M) O$ Q; h
  27.         return 0;" f0 t8 X6 p. y  ]8 H) E! ~) q3 `! x
  28. }
    % X' M! \; J6 \- v+ u! f+ M
  29.   r, p* P8 z4 `& f% i$ X+ g
  30. //////////////////////////////////////////////////////////////////////+ a8 A% }/ s! G. {' P% |
  31. // Function  : XSleep()  [$ F4 q# J7 M9 d1 V1 G9 X/ U
  32. // Purpose   : To make the application sleep for the specified time! ?/ I/ C8 F0 m# N$ N
  33. //             duration.
    9 m7 f# M* ^4 q8 \- v
  34. //             Duration the entire time duration XSleep sleeps, it5 M, w4 G& a- E% T7 T6 a2 W
  35. //             keeps processing the message pump, to ensure that all+ x6 I4 Y* M* d* b* I6 [+ p
  36. //             messages are posted and that the calling thread does9 \% b% z* e; o* w2 {' m+ O" _0 l
  37. //             not appear to block all threads!
    3 L; L7 [, R" E. L) o# E- V
  38. // Returns   : none6 Z2 N/ G* @2 p. M2 H% J- h
  39. // Parameters:       5 i" Y# u$ P0 p' S, Z( z% T# g
  40. //  1. nWaitInMSecs - Duration to sleep specified in miliseconds.
    0 O/ ~! b, Y4 ?8 g
  41. //////////////////////////////////////////////////////////////////////. @6 n0 f6 G6 e3 Q% s: L; Q
  42. void XSleep(int nWaitInMSecs,int nAscll)
    8 r! P+ y* h& E% a; v. @
  43. {
    ( `! y# F7 p" i2 l- W  z3 `
  44.                
    * f1 ?; ^* |& }" \$ g) j
  45. <blockquote><span class="Apple-tab-span" style="white-space:pre">        </span>INPUT input[2];
复制代码
3 e# D1 t! p& Q9 h! C+ u" Z* l5 w

# x6 `1 `2 }/ H. G) \xsleep.h文件代码
$ M% J6 r  p' ]: w. O! l
* l5 a" U  _6 C  E! ]
  1. //Download by http://www.cncml.com
    - F5 V: P3 S) L; ?
  2. #ifndef _XSLEEP_H_* t" C2 O1 O% u) }% z
  3. #define _XSLEEP_H_8 `$ `- d& w0 H
  4. ; S3 ]/ |; z  L4 O* B9 {
  5. void XSleep(int nWaitInMSecs, int nAscll);, [  }6 P: z6 e( G, E7 F
  6. ( v. N+ b5 s. @  P" U: [3 G8 K
  7. #endif // _XSLEEP_H_% L0 k- L2 j, x; L
复制代码
% p! |. j+ g( \- T9 h

! V5 T- J7 C6 ^$ K4 wmfc中的调用代码如下. `, d# P( B+ l: q
  1. int ascll;
复制代码
  1. XSleep(500,ascll);
复制代码
: k, l! I  C& _1 K4 ?

- A9 t* [! Z/ T7 D3 O' ^! S8 ], ^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 20:49 , Processed in 0.059818 second(s), 19 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!