2010-10-27 99 views
0

我需要限制來自不同來源的時間變化。 正如我想的,最好的方法是鉤住WINAPI函數SetSystemTime(也許SetLocalTime)。 我試圖通過在當前系統用戶所擁有的所有正在運行的進程中使用EasyHook庫來注入此鉤。但它沒有效果。 我該怎麼做?C#SetSystemTime(WIN API)掛鉤

回答

0

問題出在我自己的系統上。 我使用Windows 7,當我通過標準時鍾設置對話框更改時間時,rundll.exe進程運行並啓動調用SetLocalTime的dllhost.exe進程。 我已經在另外兩臺電腦上測試過它(WinXP & Win7),但rundll.exe調用SetLocalTime本身。

0

任何原因你不能只是P/Invoke SetSystemTime如圖所示here

請注意,你需要一個提升的權限來做到這一點:

應用中必須具備的系統時間 特權(的SE_SYSTEMTIME_NAME 特權)此功能 成功。

+0

我不想調用SetSystemTime,我想鉤住它。 – Ivan 2010-10-28 02:46:26