2009-12-09 49 views
1

我有多線程應用程序,我想創建具有不同用戶權限的線程(例如:多域管理員權限)。創建具有特定權限的線程C++

但我無法找到任何Win32 API CreateThread來做到這一點。

如何創建具有特定用戶權限的線程?

謝謝。

回答

6

CREATE_SUSPENDED標誌調用CreateThread(),然後調用SetThreadToken(),然後調用ResumeThread()。

1

這個電話從你想有特定的用戶權限,由線程在登錄爲指定用戶線程:

HANDLE hToken; 
BOOL bRet = LogonUser("username","domain","password", 
    LOGON32_LOGON_INTERACTIVE, 
    LOGON32_PROVIDER_DEFAULT,&hToken); 
if(!bRet) 
    // Add your own fault handling here 
    return MessageBox(NULL,"Could not log on","Error",MB_OK|MB_ICONSTOP); 
bRet = ImpersonateLoggedOnUser(hToken); 
if(!bRet) 
    // Add your own fault handling here 
    return MessageBox(NULL,"Could not impersonate","Error",MB_OK|MB_ICONSTOP); 
相關問題