2009-07-15 214 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 
); 
相關問題