C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[68429] Re:Re:HKEY_USERS 레지스트리 값 접근에 대해서 질문 드립니다.
홍길동 [] 1998 읽음    2012-10-26 08:41
빌더(TWx) 님이 쓰신 글 :
: 홍길동 님이 쓰신 글 :
: : 안녕 하세요~
: : 궁금한게 이써서 이렇게 질문을 올리게 되었습니다.
: : HKEY_USERS에 보면 S-1-5-21 이런식으로 SID가 있는데 현재 로그인한 SID 값을 가져 오는
: : 함수가 C++ builder에서 지원하는지 알고 싶습니다.^^
:
:
: 현재 사용자의 유효한 SID와... Domain/User를 알아내려면... 아래와 같은 식으로 Token을 이용해야 합니다...
:
:
: #include 
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:    HANDLE hToken;
: 
:    if( OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken) )
:    {
:       LPVOID buf = NULL;
:       DWORD  dwSize = 0;
:       GetTokenInformation(hToken, TokenUser, NULL, 0, &dwSize);
: 
:       buf = malloc(dwSize);
: 
:       if( GetTokenInformation(hToken, TokenUser, buf, dwSize, &dwSize) )
:       {
:          PSID pSid = ((PTOKEN_USER)buf)->User.Sid;
:          LPWSTR szSid;
:          ConvertSidToStringSid( pSid, &szSid );
: 
:          TCHAR user[200], domain[200];
:          DWORD cbUser = 200, cbDomain = 200;
:          SID_NAME_USE nu;
: 
:          LookupAccountSid(NULL, pSid, user, &cbUser, domain, &cbDomain, &nu);
: 
:          String sSid;
:          String sDomainUser;
:          sSid.printf(L"Current User Sid: %s", szSid);
:          sDomainUser.printf(L"Current [Domain/User]: %s/%s", domain, user);
: 
:          Memo1->Lines->Add(sSid);
:          Memo1->Lines->Add(sDomainUser);
:       }
:       free(buf);
:       CloseHandle(hToken);
:    }
: }
: //---------------------------------------------------------------------------
: 

:
: 출력 예)
:
: Current User Sid: S-1-5-21-2840781927-2644186782-1112761140-1001
: Current [Domain/User]: PC8/WPC8
:
:
: ....
C++ builder에서 따로 지원 하는 함수는 없군요.ㅎ
제가 가지고 있는 소스(API로 구성된 라이브러리)에는 SID를 적지 않고
바로 레지스트리 값을 적는데 볼랜드는 그렇치 않터군요.
테스트 코드 까지 이렇게 적어 주셔서 감사 합니다.ㅎㅎ

+ -

관련 글 리스트
68425 HKEY_USERS 레지스트리 값 접근에 대해서 질문 드립니다. 홍길동 1609 2012/10/25
68426     Re:HKEY_USERS 레지스트리 값 접근에 대해서 질문 드립니다. 빌더(TWx) 2662 2012/10/25
68429         Re:Re:HKEY_USERS 레지스트리 값 접근에 대해서 질문 드립니다. 홍길동 1998 2012/10/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.