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
[53399] Re:비스타에서 레지스트리 접근 문제 [자답]
xiles [xiles] 2192 읽음    2008-05-13 02:16
'비스타'가 문제가 아니라 64bit 가 문제였네요.
64bit OS 를 사용 중인데, 여기서는 64bit 레지스트리와 32bit 레지스트리가 구분이 되어 있습니다.

"HKLM\Software\Microsoft\Windows NT\CurrentVersion\Type 1 Installer"
는 64bit 레지스트리에만 존재하고 있고..일반적으로 사용하듯 RegOpenKeyEx 를 사용하면 키가 존재하지 않는다고 나옵니다. (이 키에 접근하는 프로그램은 32bit 프로그램..)

64bit 레지스트리에 접근하기 위해서는 RegOpenKeyEx 에서 Access Right 에
KEY_WOW64_64KEY 를 같이 지정해줘야합니다.

64bit 를 처음 쓰다보니 새로운 문제로 고생을 좀 했네요..


xiles 님이 쓰신 글 :
: 비스타에서
: "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Type 1 Installer" 키에 접근하려 하는데..
: 키가 존재하지 않는다고 접근이 안됩니다.
:
: regedit 에서는 제대로 보이고 권한 부분에도 특별한게 없는거 같은데..
: RegOpenKeyEx API를 써서 접근하려고 하면 키가 존재하지 않는다고 합니다.
:
: 비스타에는 Administrator 로 로그인되어있고.. 프로그램을 Run as Administrator 로 실행해봐도 접근이 안됩니다.
:
: HKLM\Software\Microsoft\Windows NT\CurrentVersion
: 의 SubKeys 들을 RegEnumKey API 로 얻어보니 Type 1 Installer 키는 나오지 않네요..
:
: regedit 에서는 멀쩡히 잘 나오는데 API 로 접근이 안되는 이유는 뭘까요??
: 혹시 무언가 방법을 알고 계신분 있으신가요?
:
: XP에서도 해보니 멀쩡히 접근이 잘 되네요.

+ -

관련 글 리스트
53342 비스타에서 레지스트리 접근 문제 xiles 1918 2008/05/05
53399     Re:비스타에서 레지스트리 접근 문제 [자답] xiles 2192 2008/05/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.