오랜만에 C/C++와 Visual Studio로 탐색기의 우클릭 메뉴에 원하는 기능을 추가할 수 있는 Shell Extention을 ATL/COM으로 만들고 있는 와중에 ..
regsvr32 /u 로 DLL의 등록을 해제를 한 뒤에도 탐색기 프로세스가 개발중인 DLL을 물고 있어서 파일을 재빌드 하거나 삭제하거나 하는등의 짓을 못하는 ;; 경우가 생겨서 .. 예전기억을 더듬어 찾아둔 자료를 기록삼아 남겨 둡니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AlwaysUnloadDLL이 레지스트리는 원래 윈도 NT이전의 윈도 95, 98, ME에서 탐색기로 하여금 사용하지 않는 DLL들을 좀 빨리 놔주도록 해주는 역할을 했던 것 같은데 .. 혹시 몰라 남겨둡니다. ( 2024년에 윈도 9x 관련 개발을 할일이야 있겠냐만은.. )
위 레지스트리 키의 기본값을 1로 변경해 두시면 됩니다. 기본값의 종류는 REG_SZ인 상태 그대로 쓰시면 될겁니다. 어차피 윈도9x 에서는 키의 기본 값은 REG_SZ 외에는 사용 못하니까 ..
이제 최근에 대부분의 컴퓨터들에 해당하는 레지스트리입니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer이 위치에 DesktopProcess 라는 키 값을 REG_DWORD로 만드신뒤에 값을 1로.. 10진수고 16진수고간에 1은 1이니까 1로 설정 하시면 됩니다.

이렇게 설정하시면 탐색기 프로세스가 개별적으로 돌아서 .. 만약 기존 Shell Extention ATL/COM DLL이 Unregist를 처리 했음에도 계속 사용중이라고 뜨는 경우에는 떠있는 탐색기들을 전부 닫으면 DLL를 놔주게 됩니다.
이런 정보는 두고두고 -_-; 나중에 찾자면 .. 또 잘 안보이는거라 기록삼아 작성해 둡니다.
Window Shell Extention 관련 글은 ..
위 두 글을 참고하셔도 좋습니다. 아마 아래 한국분의 글들이 윗글을 번역? 직역? 여튼 윗글을 참고해서 다시 작성하신것 같은데.. 일단 둘다 작성시기가 최소 수년전이라 최근에 사용하는 Visual Studio랑은 좀 안맞을순 있지만 ..
애초에 요즘 ㅋㅋ 신입이나 주니어들이 시스템 프로그래밍.. 안하자나요? ㅋㅋ
이상입니다.
댓글을 달려면 로그인해야 합니다.