C#SetSystemTime(WIN API)挂钩

时间:2010-10-27 04:15:52

标签: c# winapi pinvoke systemtime

我需要限制来自不同来源的时间变化。 我认为最好的方法是挂钩WINAPI函数SetSystemTime(也许是SetLocalTime)。 我尝试通过在当前系统用户拥有的所有正在运行的进程中使用带注入的EasyHook库来挂钩。但它没有效果。 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

任何原因你都不能像here那样P / Invoke SetSystemTime

请注意,您需要提升权限才能执行此操作:

  

应用程序必须具有系统时间   特权(SE_SYSTEMTIME_NAME   特权)这个功能   成功。

答案 1 :(得分:0)

问题出在我自己的系统上。 我使用Windows 7,当我通过标准时钟设置对话框更改时间rundll.exe进程运行并启动调用SetLocalTime的dllhost.exe进程。 我已经在另外两台PC(WinXP和Win7)上测试了它,但rundll.exe本身调用了SetLocalTime。