SYSTEM/Windows2009. 12. 29. 14:05

WM_DROPFILES 메세지란....

원도우 데스크탑이 만들어서 보내주는 메세지이다.

라는 것에서 문제는 시작됩니다.

비스타 이상의 OS에서는 UAC라는것을 사용하고 있는데... 이것은 User Access Control 이라고 불리는 것이다.
( 자세한 설명은 실력과 내공 부족으로 회피... )

어째든 저 녀석의 기능중의 하나로써...

무결성 레벨이 다를 경우 메세지를 차단해버리게되는데...

데스크탑은 보통 Admin 권한을 가지고 있지 않습니다.

따라서 만약 Admin권한을 가지고 실행된 프로그램이 WM_DROPFILES 메세지를 받고자한다면... 받을 수 없을 것입니다.

이것은 무결성 레벨이 다르기 때문에 UAC에서 WM_DROPFILES 메세지를 차단하는것입니다.
또한 이것과 마찬가지로 WM_USER 이상의 메세지에 대해서는 기본적으로 필터링이 적용되어있으므로, 이것을 풀어줘야 메세지를 받을수있습니다.. ( 이것은 같은 무결설 레벨을 가지고 있을지라도... )

어쨌든 이러한 이유로... WM_DROPFILES 메세지는 관리자 권한을 가지고 실행된 프로그램이 받을 수 없는데...
이것을 어떤 식으로 해결을 해야될지... 아직 고민중입니다..

혹시 아시는분?
UAC를 해제하면 안되고... 데스크탑을 Admin권한으로 상승시켜버리니.. UAC를 해제한거랑 같은 효과네요...

PS. UAC를 해제하면 프로그램실행할때 관리자로 실행할꺼니 말꺼니.. 하는 메세지는 전부 사라집니다. 그냥 XP라고 보시면 편할듯...
Posted by redbit