您当前的位置: 首页 > 

暂无认证

  • 0浏览

    0关注

    101061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

VC 实现文件关联

发布时间:2012-08-09 13:20:57 ,浏览量:0

文件关联的两个简单函数

//--------------------------------------------------------------------------- // 检测文件关联情况 // strExt: 要检测的扩展名(例如: ".txt") // strAppKey: ExeName扩展名在注册表中的键值(例如: "txtfile") // 返回TRUE: 表示已关联,FALSE: 表示未关联 BOOL CheckFileRelation(const char *strExt, const char *strAppKey) {     int nRet=FALSE;     HKEY hExtKey;     char szPath[_MAX_PATH];     DWORD dwSize=sizeof(szPath);     if(RegOpenKey(HKEY_CLASSES_ROOT,strExt,&hExtKey)==ERROR_SUCCESS)     {         RegQueryValueEx(hExtKey,NULL,NULL,NULL,(LPBYTE)szPath,&dwSize);         if(_stricmp(szPath,strAppKey)==0)         {             nRet=TRUE;         }         RegCloseKey(hExtKey);         return nRet;     }     return nRet; }

//--------------------------------------------------------------------------- // 注册文件关联 // strExe: 要检测的扩展名(例如: ".txt") // strAppName: 要关联的应用程序名(例如: "C:\MyApp\MyApp.exe") // strAppKey: ExeName扩展名在注册表中的键值(例如: "txtfile") // strDefaultIcon: 扩展名为strAppName的图标文件(例如: "C:\MyApp\MyApp.exe,0") // strDescribe: 文件类型描述 void RegisterFileRelation(char *strExt, char *strAppName, char *strAppKey, char *strDefaultIcon, char *strDescribe) {     char strTemp[_MAX_PATH];     HKEY hKey;         RegCreateKey(HKEY_CLASSES_ROOT,strExt,&hKey);     RegSetValue(hKey,"",REG_SZ,strAppKey,strlen(strAppKey)+1);     RegCloseKey(hKey);         RegCreateKey(HKEY_CLASSES_ROOT,strAppKey,&hKey);     RegSetValue(hKey,"",REG_SZ,strDescribe,strlen(strDescribe)+1);     RegCloseKey(hKey);         sprintf(strTemp,"%s\\DefaultIcon",strAppKey);     RegCreateKey(HKEY_CLASSES_ROOT,strTemp,&hKey);     RegSetValue(hKey,"",REG_SZ,strDefaultIcon,strlen(strDefaultIcon)+1);     RegCloseKey(hKey);         sprintf(strTemp,"%s\\Shell",strAppKey);     RegCreateKey(HKEY_CLASSES_ROOT,strTemp,&hKey);     RegSetValue(hKey,"",REG_SZ,"Open",strlen("Open")+1);     RegCloseKey(hKey);         sprintf(strTemp,"%s\\Shell\\Open\\Command",strAppKey);     RegCreateKey(HKEY_CLASSES_ROOT,strTemp,&hKey);     sprintf(strTemp,"%s \"%%1\"",strAppName);     RegSetValue(hKey,"",REG_SZ,strTemp,strlen(strTemp)+1);     RegCloseKey(hKey); }

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.3844s