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
[15846] AutoRun at startup
유지상 [newjisang] 870 읽음    2002-02-27 01:54
윈도우부팅될 때 프로그램이 자동으로 실행되는 기능에 관해서 질문이 있어요.
이 기능에 대한 코드가 tip'N Tricks 에 나와있긴 하는데요.
tip'N Tricks에 제시된 코드하고 C++Builder 도움말 파일에 제시된 코드를 비교해보면서
몇몇 의문점들이 생겼습니다.

    TRegistry *reg = new TRegistry;
    Reg->RootKey = HKEY_LOCAL_MACHINE;ENT_USER
    if (Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", true)) or false
    {
      Reg->WriteString("FoxPapers11",Application->ExeName);
      Reg->CloseKey();
    }
    delete Reg;

일단 프로그램 자동으로 실행되게 하기 위해서 레지스트레를 이용하는 것은 위의 코드로 구현이 됩니다.
그런데,tip'N Tricks와 CBuilder도움말 파일에서의 예제 코드 사이에서 서로 두 가지 차이점이 있습니다.

먼저  Reg->RootKey = HKEY_LOCAL_MACHINE;  부분은  도움말에 나오는 코드에서는 HKEY_LOCAL_MACHINE 대신에  HKEY_CURRENT_USER를 썻습니다.
regedit으로 실제로 살펴보니, 
정말로 \\Software\\Microsoft\\Windows\\CurrentVersion\\Run 가
HKEY_LOCAL_MACHINE 와  HKEY_CURRENT_USER 에 둘 다에 모두 존재했습니다.
이 두 개 중에 어느 것을 선택하더라도 상관이 없는 건가요?

그리고 또 차이점이 있던데, Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", true) 부분에서
마지막인자입니다. Tip'N Tricks에서는 마지막인자에 false를 넣었고, 도움말의 코드에서는 true를 넣었습니다. 이 인자는 CanCreate, 즉 키가 없으면 만들 것인가를 지정하는 파라미터인데,
제 생각에는 여기에 true를 지정하는 것이 좋다고 생각되는데, 맞나요?

+ -

관련 글 리스트
15846 AutoRun at startup 유지상 870 2002/02/27
15870     Re:AutoRun at startup 꼴(이성렬) 814 2002/02/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.