如何通过WIN32 API取得当前登录用户的组(例如:Administrator、Guest等)?????

解决方案 »

  1.   

    #include <activeds.h>
    #include <stdio.h>int main()
    {
    HRESULT hr; hr = CoInitialize(NULL); IADsADSystemInfo *pSys;
    hr = CoCreateInstance(CLSID_ADSystemInfo,
    NULL,
    CLSCTX_INPROC_SERVER,
    IID_IADsADSystemInfo,
    (void**)&pSys); BSTR bstr;
    hr = pSys->get_UserName(&bstr);
    if (SUCCEEDED(hr)) {
    printf("User: %S\n", bstr);
    SysFreeString(bstr);
    } hr = pSys->get_ComputerName(&bstr);
    if (SUCCEEDED(hr)) {
    printf("Computer: %S\n", bstr);
    SysFreeString(bstr);
    } hr = pSys->get_DomainDNSName(&bstr);
    if (SUCCEEDED(hr)) {
    printf("Domain: %S\n", bstr);
    SysFreeString(bstr);
    } hr = pSys->get_PDCRoleOwner(&bstr);
    if (SUCCEEDED(hr)) {
    printf("Role owner: %S\n", bstr);//用户组
    SysFreeString(bstr);
    } if(pSys) {
    pSys->Release();
    } CoUninitialize();
    return 0;
    }
      

  2.   

    NetWkstaUserGetInfo()
    wkui1_logon_domain