Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

1.
당연한 현상입니다.
Standard User에서 Admin 권한으로 프로세스를 실행했다고 하셨는데요. "Admin 권한"뿐만 아니라, 그것은 "Admin 계정"으로 실행된 것입니다.
따라서 서로 간의 HKCurrentUser가 다를 수밖에 없으니 당연히 그러한 결과가 나오는 것입니다.

"a.exe" 프로세스 안에서 현재 시스템에 로그인한 사용자 계정을 구해서, 레지스트리에 기록하는 바로 그 스레드에 대해서 가장(Impersonation)시켜 줘야 합니다.
또는, admin 권한으로 실행되는 "a.exe"에서 레지스트리 기록하는 코드를 "b.exe"로 분리한 다음, 해당 프로세스를 로그인한 사용자 계정으로 실행시켜 주는 것도 방법이겠고요.

2.
현재 프로세스를 실행시킨 계정을 알아내시고, 그 계정이 Administrators 그룹에 속해있는지 판단하시면 됩니다.
또는, 현재 프로세스의 Integrity 레벨을 알아내셔서 "High"에 속해있는지 판단하셔도 되겠습니다.

[추가로 테스트한 것]
1. 애석하게도, HKLM에 남겼다고 해서 Standard User가 프로그램을 시작할 수는 없습니다. 왜냐하면, RunOnce는 그 속성상, 한 번 실행된 이후에는 그 키가 삭제되어야 하는데, "Standard User"는 해당 레지스트리키에 대해서 "쓰기(삭제) 권한"이 없기 때문에 동작되지 않습니다.

What are the dire consequences of registering a RunOnce command from my RunOnce command?
; https://devblogs.microsoft.com/oldnewthing/20240805-00/?p=110098

2. 이 부분은 다시 확인해 보십시오. 제가 테스트한 바에 의하면 Run인 경우에는 정상적으로 수행이 되었습니다.

---------------------------------------------------------

새롭게 바뀐 비스타의 보안 모델이 낯설은 경우에는, 위와 같은 동작 방식이 다소 "버그" 같은 느낌이 드시겠지만,,, 어쨌든 지극히 당연한 동작이니... " 호환성"을 위한 고려사항이라고 보셔야 할 것 같습니다. ^^

좋은 경험을 공유해 주셔서 감사합니다. ^^








[최초 등록일: ]
[최종 수정일: 8/6/2024]


비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  83  84  85  86  87  88  89  [90]  ...
NoWriterDateCnt.TitleFile(s)
213궁금이6/18/200512422Winform 형태의 NTD에서 사용자 로그인 성공 여부 정보 유지하는 방법 [1]
212궁금이6/16/200510383ActiveX 컨트롤이 NTD에 이상이 없는지요? [1]
211류성태6/15/200510952smart client에 관하여.... [1]
206헤커의작...6/14/20059919[질문] 안녕하세요. 성태님의 홈페이지에서 화면전환시 처리되는 것에 관련된 건 [3]
205김종욱 6/12/200510468com+ 에서 서버 소켓을 열고 싶고요... com+에서 thread는 어떻게 돌리는지 알고 싶습니다
209정성태6/14/200510517    답변글 [답변]: com+에서 서버 소켓을 열고 싶고요... com+에서 thread는 어떻게 돌리는지 알고 싶습니다
204정현일6/9/200510683Smart Client 실행시 SecurityException파일 다운로드1
208정성태6/14/200511047    답변글 [답변]: Smart Client 실행시 SecurityException [1]
203나그네6/9/200510889태오 사이트 Smart Client 강좌중에서요
207정성태6/14/200510501    답변글 [답변]: 태오 사이트 Smart Client 강좌중에서요
210나그네6/15/200510668        답변글 [답변]: [답변]: 태오 사이트 Smart Client 강좌중에서요파일 다운로드1
198이지훈6/2/200599172003이랑 2005랑 함께 사용하는 방법이 없을까요?
201정성태6/6/200510513    답변글 [답변]: 2003이랑 2005랑 함께 사용하는 방법이 없을까요?
197이지훈6/2/2005106042005 에서 컴포넌트 제작
200정성태6/6/200510140    답변글 [답변]: 2005 에서 컴포넌트 제작
196김종욱5/24/200511279익스플러 툴 벤드 제작... for .NET [1]파일 다운로드1
199정성태6/6/200510764    답변글 [답변]: 익스플러 툴 벤드 제작... for .NET
202김종욱6/9/200511261        답변글 [답변]: [답변]: 익스플러 툴 벤드 제작... for .NET [1]
194홍지철5/18/200510538IE에서 Winform control embedded작성시 문제점
195정성태5/19/200511090    답변글 [답변]: IE에서 Winform control embedded작성시 문제점
192헤헤5/13/200510678이것좀봐주세요
193정성태5/13/20059784    답변글 [답변]: 이것좀봐주세요
186기범5/9/200510398안녕하세요2
187정성태5/9/200510864    답변글 [답변]: 안녕하세요2
184기범5/9/200510312안녕하세요
185정성태5/9/200510711    답변글 [답변]: 안녕하세요
... 76  77  78  79  80  81  82  83  84  85  86  87  88  89  [90]  ...