zoukankan      html  css  js  c++  java
  • 29.内核创建定时器

    • 以id创建时钟定时器
      1 HANDLE time1 = CreateWaitableTimerA(NULL, TRUE, "mytimer");//创建时钟
    • 创建时间
      1 LARGE_INTEGER mytime;
      2 mytime.QuadPart = -10000000; //等待一秒
    • 设置定时器
      1     // 第一个参数:时钟   第二个参数:时间  第三个参数:多长时间循环一次 
          //第四个参数:回调函数   第五个参数:(用于计数调用一次自增1)   第六个参数:默认
      2     SetWaitableTimer(time1, &mytime, 3000,timerun, &dwparam,FALSE)
    • 等待定时器
      1         for (int i = 0; i < 15; i++, dwparam++)//循环多少次
      2         {
      3             SleepEx(INFINITE, TRUE);
      4         }
    • 取消定时器并释放句柄
      1 CancelWaitableTimer(time1);//取消定时器
      2 CloseHandle(time1);

    完整代码:

     1 #include<stdio.h>
     2 #include <stdlib.h>
     3 #include <Windows.h>
     4 
     5 
     6 //回调函数,函数指针可以来调用
     7 VOID   CALLBACK  timerun(void *parg,DWORD timearg,DWORD  timehigh)
     8 {
     9     DWORD dwindex = *(DWORD *)parg;
    10     printf("
    第%d次", dwindex);
    11 }
    12 
    13 void main()
    14 {
    15     //创建时钟
    16     HANDLE time1 = CreateWaitableTimerA(NULL, TRUE, "mytimer");
    17 
    18     if (time1 == NULL)
    19     {
    20         printf("创建失败");
    21 
    22     }
    23     //设置等待时间
    24     LARGE_INTEGER mytime;
    25     mytime.QuadPart = -10000000; //等待一秒
    26 
    27     DWORD dwparam = 1;//设置定时器初始次数
    28     if (SetWaitableTimer(time1, &mytime, 3000, timerun, &dwparam, FALSE))//3000循环一次
    29     {
    30         printf("等待5秒开始干活");
    31         for (int i = 0; i < 15; i++, dwparam++)//循环多少次
    32         {
    33             SleepEx(INFINITE, TRUE);
    34         }
    35     }
    36     
    37     //取消定时器
    38     CancelWaitableTimer(time1);
    39     CloseHandle(time1);
    40 
    41     system("pause");
    42 }
  • 相关阅读:
    Qt Undo Framework
    pyinstaller打包shotgun有关的程序
    博客初衷
    文件隐写
    IDA使用初探-1.启动IDA
    隐写术总结
    无线网破解 跑字典 EWSA使用教程
    CTF中图片隐藏文件分离方法总结
    【转载】Pangolin4.0最新破解版-SQL注入渗透工具
    名词解释
  • 原文地址:https://www.cnblogs.com/xiaochi/p/8409842.html
Copyright © 2011-2022 走看看