Hast du denn jegliche Sicherheitssoftware, die bei dir installiert ist, zum Testen einmal deaktiviert?
Denn bei mir z.B. hätte solch ein Versuch keinerlei Chance, der Zugriff würde aus Sicherheitsgründen sofort blockiert.
Hast du es einmal mit Adminrechten probiert? Ich weiß nicht, ob man diese braucht.
Außerdem vermisse ich bei dir jegliche Fehlerbehandlung...

Siehe Doku:
Zitat: |
Return Value
Type: HHOOK
If the function succeeds, the return value is the handle to the hook procedure.
If the function fails, the return value is NULL. To get extended error information, call GetLastError. |