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
[69056] Re:Re:Re:Re:Regedit에 있는 데이터 출력
압9정 [] 1522 읽음    2013-01-28 16:57
아 그렇군요...ㅠ

답변 감사합니다.ㅎㅎ

박지훈.임프 님이 쓰신 글 :
: 관리자 권한이 필요한 문제는 TRegistry 생성자에 KEY_READ를 넘겨주면 되긴 하는데요.
: 말씀하신 코드 대로 실제로 실행해보니, 해당 레지스트리 키가 윈도우 OS에 의해 보호되어(protected) 있는 것 같습니다.
: 특정 레지스트리 키들은 애플리케이션이 접근할 수 없도록 보호되어 있는데요.
:
: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
: 이 키까지는 프로그램 코드로 접근이 되는데, Plugins부터 접근이 안되는군요. Plugins와 동일 레벨의 다른 키들도 접근이 되는데, Plugins 키만 접근이 막혀있는 것 같습니다. 관리자 권한으로 접근해도 마찬가지네요.
:
:
:
: 압9정 님이 쓰신 글 :
: : 답변 감사합니다.ㅎ
: :
: : 권한 문제에 대한 것은 잘 몰랐었는데 새로운걸 배웠네요.^^
: :
: : 근데 관리자 권한으로 실행해도 안되는건 뭘까요...
: :
: : 그냥 NULL값이 나옵니다.ㅠ
: :
: : 제 컴퓨터는 Window7 입니다.
: :
: : Documents\RAD Studio\Projects\Debug 이 경로에 있는 exe 파일 실행하는게 맞나요??
: :
: : 박지훈.임프 님이 쓰신 글 :
: : : 권한이 모자라서 그런 것 같군요. 스크린샷을 보니 윈도우7 혹은 비스타인데요.
: : : 윈도우 비스타 이상에서는 레지스트리의 HKEY_LOCAL_MACHINE 하위 키는 관리자권한으로 승격하지 않으면 읽을 수 없습니다.
: : : 확인해보시려면, 컴파일하신 프로그램 exe를 탐색기에서 오른쪽 클릭해서 "관리자 권한으로 실행"을 선택해서 실행시켜보세요.
: : :
: : :
: : :
: : : 압9정 님이 쓰신 글 :
: : : : 안녕하세요.
: : : :
: : : : 제가 Regedit에서 위와 그림에 있는 경로에 ModuleId 라는 값을 가져오려고 합니다.
: : : :
: : : : 포럼에서 QA를 참고하여 소스를 짜봤는데요. 값이 안넘어 오네요.ㄷ
: : : :
: : : : #include <Registry.hpp>
: : : :
: : : : void TMain::GetBiosRegistry()
: : : : {
: : : :     TRegistry *reg = new TRegistry();
: : : :     String Str;
: : : :
: : : :     reg->RootKey = HKEY_LOCAL_MACHINE;
: : : :     reg->OpenKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SoftwareProtectionPlatform\\Plugins\\Objects\\msft:rm/algorithm/bios/4.0",false);
: : : :     Str = reg->ReadString("ModuleId");
: : : :     Memo1->Lines->Add(Str);
: : : :
: : : :     reg->CloseKey();
: : : :     delete reg;
: : : : }
: : : : //---------------------------------------------------------------------------
: : : : void __fastcall TMain::Button1Click(TObject *Sender)
: : : : {
: : : :     GetBiosRegistry();
: : : : }
: : : : //---------------------------------------------------------------------------
: : : :
: : : : 어디가 잘못된 건가요?ㅠ

+ -

관련 글 리스트
69050 Regedit에 있는 데이터 출력 압9정 1392 2013/01/28
69053     Re:Regedit에 있는 데이터 출력 박지훈.임프 1377 2013/01/28
69054         Re:Re:Regedit에 있는 데이터 출력 압9정 1461 2013/01/28
69055             Re:Re:Re:Regedit에 있는 데이터 출력 박지훈.임프 1517 2013/01/28
69056                 Re:Re:Re:Re:Regedit에 있는 데이터 출력 압9정 1522 2013/01/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.