티스토리 뷰
http://sjpison.tistory.com/68
에서 펌
------------------------------------------------------------------
이 문제를 왜 고민하게 됐는고 하니…
SendMessage를 사용하려고 하는데 자신보다 권한이 높게 설정된 프로그램에는 메시지를 보낼 수 없는 문제가 생겼습니다.
UAC라고… 윈도우 Vista에 추가된 그 기능 때문에 프로그래머들은 한층 더 골치가 아프게 됐네요.
구글링도 해보고 여러가지 방법을 찾던 차에 매니페스트를 추가하면 된다는 사실을 알게 됐습니다.
그리고 VS2008부터 생긴 기능인지는 모르지만(전에는 고민해 본적이 없으니까요) 매니페스트를 VS자체에서 추가할 수 있더군요.
제가 검색했던 다른 사이트들은 mt.exe 파일로 어떻게 어떻게 해서 exe파일에 붙이고 하더군요 -_-;
그걸 토대로 봤을 때… VS2008부터 이 기능이 생기지 않았나… 추측해 봅니다.
프로젝트의 속성으로 들어가서 '보안' 탭을 누르고 'ClickOnce 보안 설정 사용'에 체크를 해 봅시다. (기본으로 체크가 안되어 있습니다.)
그러면 오른쪽에 솔루션 탐색기에 'app.manifest'라는 파일이 생깁니다… 놀랍게도 -_-;
저도 이걸 모를 때는 그냥 manifest파일을 다른 사이트에서 만드는 것처럼 만들었는데, 자동으로 만들어 주니 어찌나 편한지…
그리고 ClickOnce를 안 쓰실 분들은 그냥 안쓰면 되니까~ ㅎ 체크를 다시 지워도 해당 manifest파일이 사라지지는 않습니다.
그리고는 '응용 프로그램'탭으로 가보면 '매니페스트'가 자동으로 추가된 것을 볼 수 있습니다.
원래는 '기본 설정으로 구성된 매니페스트 포함'으로 되어 있습니다.
자… 그러면 추가된 매니페스트 파일을 열어봅시다. 'Properties/app.manifest'겠죠?
주석에 보면 친절하게도 설명이 적혀 있습니다.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
주석 밑에 있는 값을 얘들중에 하나로 바꾸라고… 그냥 'requireAdministrator'로 바꾸면 되는 듯 합니다.
권한에 대해서는 개인적으로 검색을 해 보시면 됩니다.
이렇게 하시면 자동적으로 프로그램이 권한상승이 됩니다!!! 참 쉽죠잉?
음… 참고로 VS2008이 관리자 권한으로 실행되어 있지 않은 경우, 관리자 권한으로 올린 프로그램은 디버깅이 안되더군요~
'Development > Windows' 카테고리의 다른 글
Visual C++ 시리얼 통신(RS-232) 강좌 (2) (5) | 2010.04.29 |
---|---|
Visual C++ 시리얼 통신(RS-232) 강좌 (1) (23) | 2010.04.29 |
MFC로 짠 프로그램 배포하기 (0) | 2010.04.27 |
Vista이상에서 UAC(사용자 계정 컨트롤) 상태에서 시작 프로그램 실행하기 (5) | 2010.04.24 |
비스타 권한 상승 매니페스트 추가 방식들 (3) | 2010.04.07 |
Thread 생성에 대한 간략한 코드 이것저것 모음 (0) | 2009.02.10 |
휠 메세지(WM_MOUSEWHEEL)가 안돼요 (0) | 2009.01.06 |
그림 확대/축소가 부드럽게 이루어 지도록 하는 프로그램 (0) | 2009.01.05 |
- Total
- Today
- Yesterday
- 음악
- 드라이버
- 리눅스
- it
- Cloud
- Visual C++
- java
- algorithm
- 안드로이드
- kering
- winapi
- C++
- source
- 프로그래밍
- driver
- database
- C
- AWS
- jni강좌
- Python
- API
- linux
- android
- Quiz
- NDK
- gcc
- jni
- MFC
- db
- Troubleshooting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |