|
빌더(TWx) 님이 쓰신 글 :
: 짤팔이 님이 쓰신 글 :
: : ===>실행file을 관리자권한으로 실행하니까 되네요...
: : regiistry 의 편집관련 권한은 관계가 없는 것 같구요..(read 만 하는거는 다 check 가
: : 되어있더군요--default 가요) win7과 다른상황이긴하지만 어쨋든 해결은 됬네요..
: : 다른 조언 있으신 고수님들 계시면 추가 답변 부탁드립니다....
: : ======<
: :
: : 짤팔이 님이 쓰신 글 :
: : : "현재 컴퓨터에 연결된 통신포트 알아보는 방법" 에 대하여 장성호님께서
: : : 알려주신 방법을 잘 사용해 오고 있습니다.-감사드립니다.
: : : 레지스트리 GetValueNames 를 사용하는데요,,,win8에서는 list에 아무것도
: : : 읽혀지는게 없습니다. search를 나름대로 많이해보았는데...아직 못찾아서...
: : : 이렇게 질문 드립니다. 조언 부탁드립니다.
:
:
:
: 답변:
:
: TRegistry 클래스 구현 상의 디폴트 권한설정의 문제 입니다.
:
:
: //---------------------------------------------------------------------------
: #include <registry.hpp>
: #include <memory>
: void GetCOMPort()
: {
: using namespace std;
: auto_ptr<TStringList> list(new TStringList);
: auto_ptr<TRegistry> reg(new TRegistry(KEY_READ));
:
: reg->RootKey = HKEY_LOCAL_MACHINE;
: reg->OpenKey("HARDWARE\\DEVICEMAP\\SERIALCOMM", false);
: reg->GetValueNames(list.get());
:
: for(int i = 0; I < list->Count; i++)
: Form1->Memo1->Lines->Add(reg->ReadString(list->Strings[i]));
: }
: //---------------------------------------------------------------------------
:
: 위와 같이 해보세요.
:
:
:
아... 정말 잘 되네요... 감사합니다.
그런데... 제가 초보라서.. 이게 왜 되는지까진 잘 모르겠네요...ㅎ
공부좀 더 하겠습니다.
|