|
자답을 올리네요.
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
|