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
[60330] Re:비스타 권한상승 버튼..
locke [syiware] 1970 읽음    2010-02-26 14:55
자답을 올리네요.

Header Declared in Commctrl.h
Minimum operating systems Windows Vista

LRESULT Button_SetElevationRequiredState(
    HWND hwnd,
    BOOL fRequired
);

Commctrl.h를 include시켜야 되구요. comctl32.dll을 사용하므로

comctl32.lib를 프로젝트에 추가하여 컴파일해야 할 듯 싶습니다.

Button_SetElevationRequiredState() 함수는 다시 아래와 같이 정의가 되어있습니다.

#define Button_SetElevationRequiredState(hwnd, fRequired) \
    (LRESULT)SNDMSG((hwnd), BCM_SETSHIELD, 0, (LPARAM)fRequired)
#endif

근데 안타깝게도 C빌더6의 헤더파일에는 이부분이 없네요.

C++빌더 2007이상 버전의 헤더파일에 정의가 되어있고

MS 비주얼 스튜디오 2005버전에도 이 정의부분이 없습니다.

이 함수를 통해서 버튼의 핸들을 지정해주면 해당 버튼이 클릭되었을때

권한상승 단계가 자동으로 뜨고 사용자가 확인할 경우 권한상승이 되어

처리루틴이 돌아가게 됩니다. 물론 방패모양도 보여진다네요.

저는 현재 맡고있는 프로젝트가 c빌더6이라 다른 방법을 강구해야할 듯 싶습니다.

-locke


locke 님이 쓰신 글 :
: 안녕하세요. 어디서 본거 같은데 생각이 나질 않아 질문 드려봅니다.
:
: 처음 프로그램 실행시에 manifest에 의한 권한상승 말고
:
: 다른 프로그램 보면.. 창의 어떤 특정 버튼에 방패모양으로 생겨갖고
:
: 이 버튼을 누르면 권한이 상승되면서 그 권한에서 할 수 있는 레지스트리 편집이라든가
:
: 그런 작업들이 가능하게 하는걸 봤거든요.
:
: 지금 저한테 그 기능이 필요합니다. 알고계신 분.. 좀 알려주세요.
:
: 어떤 관련 api가 있었던거 같습니다.
:
: -locke

+ -

관련 글 리스트
60315 비스타 권한상승 버튼.. locke 1405 2010/02/25
60330     Re:비스타 권한상승 버튼.. locke 1970 2010/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.