2009-07-15 104 views
1

我们有专门的Windows XP系统运行我们的VC++应用程序,全屏。我们希望通过我们的应用程序来防止一般用户访问系统资源。我们计划为我们的VC++应用程序添加授权。每当用户尝试访问系统资源时,他/她都需要先通过授权检查。如果我们可以使用现有的Windows授权,这将是最好的,因为我们不需要要求用户创建另一个帐户并记住用户名和密码。我可以在我们的VC++应用程序中使用Windows授权吗?

有人能给我一个方向吗?有人提到winlogon.exe和msgina.dll。但我对此并不确定。

感谢,

回答

0

GINA是运行在第一次启动Windows的登录屏幕上的位 - 所以这是值得怀疑的,就是你在找什么。如果您希望您的应用程序弹出一个密码对话框,并根据Windows用户数据库对其进行身份验证。

你可以做的是弹出一个对话框询问用户名和密码,然后试图模仿使用这些细节 - 请参阅KB306158,标题为“在代码中模拟特定用户”一节。

+0

这是一个很好的参考,但没有用于VC没有代码示例++链接。 – 5YrsLaterDBA 2009-07-15 18:58:44

+0

啊,错过了那一点。 然后,随着Jesse说现在是时候钻研advapi32 - 道歉了,现在已经习惯了.NET的思维! – blowdart 2009-07-15 19:28:57

0

退房LogonUser

你需要对ADVAPI32

BOOL LogonUser(
    __in  LPTSTR lpszUsername, 
    __in_opt LPTSTR lpszDomain, 
    __in  LPTSTR lpszPassword, 
    __in  DWORD dwLogonType, 
    __in  DWORD dwLogonProvider, 
    __out  PHANDLE phToken 
); 
相关问题