O
						
					
					
						
					
				
				
					void CNewsDlg::RegisterFileType()
{
    CString exec;
    GetModuleFileName(0,exec.GetBuffer(260),260);
    exec.ReleaseBuffer();
    SHSetValue(HKEY_CLASSES_ROOT,_T(".news"),NULL,REG_SZ,_T("news_file"),9*sizeof(TCHAR));
    SHSetValue(HKEY_CLASSES_ROOT,_T("news_file"),NULL,REG_SZ,_T("News Installation File"),22*sizeof(TCHAR));
    SHSetValue(HKEY_CLASSES_ROOT,_T("news_file\\DefaultIcon"),NULL,REG_SZ,exec+_T(",0"),exec.GetLength()*sizeof(TCHAR)+2*sizeof(TCHAR));
    exec=_T("\"")+exec+_T("\" -newsfile %1");
    SHSetValue(HKEY_CLASSES_ROOT,_T("news_file\\Shell"),NULL,REG_SZ,_T("Install"),7*sizeof(TCHAR));
    SHSetValue(HKEY_CLASSES_ROOT,_T("news_file\\Shell\\Install\\Command"),NULL,REG_SZ,exec,exec.GetLength()*sizeof(TCHAR));
    exec=_T("\"notepad.exe\" %1");
    SHSetValue(HKEY_CLASSES_ROOT,_T("news_file\\Shell\\Edit\\Command"),NULL,REG_SZ,exec,exec.GetLength()*sizeof(TCHAR));
    SHChangeNotify(SHCNE_ASSOCCHANGED,0,0,0);
}