Zitat von
MSDN:
The process calling LogonUser requires the SE_TCB_NAME privilege. If the calling process does not have this privilege, LogonUser fails and GetLastError returns ERROR_PRIVILEGE_NOT_HELD.
Du benötigst das TCB-Privilege und das besitzt du normalerweise nur wenn dein Prog als Service läuft..!