레지스트리 설정중에 NoOpen 이란 것이 있다. 

HKEY_CLASSES_ROOT\ocxfile

이런 키를 찾아보면 볼 수가 있다. 이런 키가 있는 것으로는


HKEY_CLASSES_ROOT\.bin

HKEY_CLASSES_ROOT\.dat

HKEY_CLASSES_ROOT\.dos

HKEY_CLASSES_ROOT\.nls

HKEY_CLASSES_ROOT\chkfile

HKEY_CLASSES_ROOT\CLSID\{888DCA60-FC0A-11CF-8F0F-00C04FD7D062}

HKEY_CLASSES_ROOT\CLSID\{ECF03A32-103D-11d2-854D-006008059367}

HKEY_CLASSES_ROOT\dbfile

HKEY_CLASSES_ROOT\dllfile

HKEY_CLASSES_ROOT\drvfile

HKEY_CLASSES_ROOT\MSProgramGroup

HKEY_CLASSES_ROOT\ocxfile

HKEY_CLASSES_ROOT\sysfile

HKEY_CLASSES_ROOT\SystemFileAssociations\system

이런 것들이 있다. 확장자만 본다면

bin

chk

dat

db

dll

dos

drv

.grp

.mydocs

nls

ocx

sys

.ZFSendToTarget

이런 것들이다. 

윈도우즈에서 자체적으로 바이너리 형태로 사용하고 있으니 다른 프로그램에서 괜히 열지 말라는 것이다. 이중에 .db, .bin 같은 확장자들은 논란의 여지가 있다. .dat 는 요즘에는 거의 사용하지 않으니 넘어가더라도 .db같은 경우에는 sqlite 등에서 아직도 많이 사용중이다. sqlite 사용자는 가급적이면 확장자를 sqlite 나 sqlite3 로 설정하는 것을 추천한다. 

어쨌든 위에 적어놓은 확장자들은 가급적이면 서드파티 프로그램에서 사용하지 않는 게 좋다. 이것을 어기는 프로그램들이 주로 압축프로그램이나 동영상 재생 프로그램이나 멀티미디어 관련 프로그램들이다. 굳이 잘 쓰지도 않는 확장자에 자사 프로그램을 억지로 붙이려고 너무 노력할 필요는 없다. 어떤 프로그램들은 과도하게 확장자에 집착을 하는 바람에 설치를 하면 음악재생시에 크나큰 손실이 발생하는 경우가 있으니 주의를 요한다. 


윈도우즈 사용자가 한번이라도 확장자에 대한 열기 설정을 하면

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

이 키에 정보가 저장된다. 

HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

이런 것까지 쓸데없이 저장을 해놔서 골치아프긴 하지만.. 

아무튼 FileExts 에는 가급적 NoOpen 으로 설정된 것은 안 들어와야 하지 않을까 생각된다.