zoukankan      html  css  js  c++  java
  • timeSetEvent的用法(一)

    由于想在一个DLL中使用TTimer,想把它做成一个监控程序,然后采用DLL远程注入的方式,把它注入到Explorer.exe或 DLLHOST进程中,妈的,怎么像木马啊#¥#%¥%,其实它就是一个木马,只不过我是用来监控机房管理系统的客户端,如果监控到学生退出了客户端的话,用这个小木马又启动它,而这个监控程序是不能结束的话,可能有人会问那你干吗不直接把客户端注入Explorer.exe中呀?呵呵,问得好!因为 Exe文件Windows是不允许远程注入的(也可能是我不知道做不到……^@^),但是要在DLL中使用TTimer比较烦琐,而且要以Class方式输出(当然不用类也是可以的),不太方便。有没有一种更简单可行的方法达到我的要求呢?于是timeSetEvent出现了。
    这是timeSetEvent的原型声明,这一函数包含在MMSystem单元中:



    参数说明:
    uDelay:事件的延时,毫秒计,假如该值超出定时器支持的最大最小的延时范围,程序返回一个错误。
    uResolution:计时器事件的分辨率,毫秒计。分辨率随值的减小而增加。为零时意味着周期事件以最大的精确度发生。为了降低系统的开销,应用程序应选择能满足要求的最大值。
    LpTimeProc:回调函数的地址,当单一事件期满或周期事件到达一个周期。假如fuEvent指定了TIME_CALLBACK_SET或 TIME_CALLBACK_EVENT_PULSE标记,lpTimeProc被当作一个事件对象的指针,the event will be set or pulsed upon completion of a single enent or periodically upon completion of periodic events.
    dwUser:用户提供的回调数据。
    fuEvent:定时器类型,参数可能包含下列值之一。
    Value                         Meaning
    TIME_ONESHOT ----One shot 时间发生,一旦经过uDelay毫秒时间.
    TIME_PERIODIC ----periodic 每过uDelay 毫秒事件发生一次
    也可能是下面的值:
    Value                         Meaning
    TIME_CALLBACK_FUNCTION
    Call back function 当计时期满,窗口调用lpTimeProc参数指定的函数,为默认值。
    TIME_CALLBACK_EVENT_SET
    Call back event set 当计时器到期,窗口调用SetEvent函数,通过lpTimeProc参数设置事件指向,( to set the event pointed to by the lpTimeProc parameter),dwUser参数被忽略。
    TIME_CALLBACK_EVENT_PULSE
    Callback event pulse

    返回值:假如调用成功或是其他错误时,为计时器事件返回一个标识符,假如失败或计时器事件为创建,返回值为零,该值也发送给回调函数。
    注意:为周期事件调用timeSetEvent函数时要求相应的调用timeKillEvent函数。

    调用方法:
    例子:

    举个实例说明一下:
    该实例的运行效果:
    点击在新窗口中浏览此图片

    代码单元:

    那么我们又如何把它应用于DLL中呢?

    待续……

    谢祥选【小宇飞刀(xieyunc)】
  • 相关阅读:
    [POJ1195] Mobile phones(二维树状数组)
    [SWUST1740] 圆桌问题(最大流)
    [SWUST1759] 骑士共存问题(最大流,最大独立集)
    欧拉函数O(sqrt(n))与欧拉线性筛素数O(n)总结
    BZOJ 1036: [ZJOI2008]树的统计Count-树链剖分(点权)(单点更新、路径节点最值、路径求和)模板,超级认真写了注释啊啊啊
    POJ 3237.Tree -树链剖分(边权)(边值更新、路径边权最值、区间标记)贴个板子备忘
    计蒜客 30999.Sum-筛无平方因数的数 (ACM-ICPC 2018 南京赛区网络预赛 J)
    洛谷 P3383 【模板】线性筛素数-线性筛素数(欧拉筛素数)O(n)基础题贴个板子备忘
    计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)
    计蒜客 30990.An Olympian Math Problem-数学公式题 (ACM-ICPC 2018 南京赛区网络预赛 A)
  • 原文地址:https://www.cnblogs.com/xieyunc/p/9126703.html
Copyright © 2011-2022 走看看