2010-10-27 16 views
0

J'ai besoin d'une restriction pour les changements d'heure provenant de sources différentes. La meilleure façon, comme je pense, est de connecter la fonction WINAPI SetSystemTime (et peut-être SetLocalTime). J'ai essayé d'accrocher cela en utilisant la bibliothèque EasyHook avec injection dans tous les processus en cours, appartenant à l'utilisateur actuel du système. Mais cela n'a eu aucun effet. Comment puis-je faire cela?Accrochage C# SetSystemTime (API WIN)

Répondre

0

Le problème était sur mon propre système. J'utilise Windows 7 et quand je change l'heure via le processus de dialogue de configuration de l'horloge standard, le processus rundll.exe s'exécute et démarre le processus dllhost.exe qui appelle SetLocalTime. Je l'ai testé sur un autre 2 PC (WinXP & Win7) mais là rundll.exe appelle SetLocalTime lui-même.

0

Une raison pour laquelle vous ne pouvez pas appeler P/SetSystemTime comme indiqué here?

Notez que vous avez besoin d'un privilège élevé pour ce faire:

Une application doit avoir le système en temps privilège (le privilège SE_SYSTEMTIME_NAME ) pour que cette fonction réussir.

+0

Je ne veux pas appeler SetSystemTime, je veux l'accrocher. – Ivan