小鱼的学习笔记

下面这段话是百度百科对文件关联的解释。

  文件关联就是将一种类型的文件与一个可以打开它的程序建立起一种依存关系。举个例子来说,位图文件(BMP文件)在Windows中的默认关联程序是“画图”,如果将其默认关联改为用ACDSee程序来打开,那么ACDSee就成了它的默认关联程序。

  实际上就是设置一种文件的默认打开方式。

  文件关联的信息都写在注册表里,需要写入/修改注册表信息来实现文件关联。

  下面给出如何设置一种文件的默认打开程序及显示的图标的代码。

  文件关联的两个简单函数:

// 检测文件关联情况// strExt: 要检测的扩展名(例如: ".txt")// strAppKey: ExeName扩展名在注册表中的键值(例如: "txtfile")// 返回TRUE: 表示已关联,,FALSE: 表示未关联BOOL CheckFileRelation(*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")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,,strAppKey);RegCreateKey(HKEY_CLASSES_ROOT,strTemp,&hKey);RegSetValue(hKey,"",REG_SZ,strDefaultIcon,strlen(strDefaultIcon)+1);RegCloseKey(hKey);sprintf(strTemp,,strAppKey);RegCreateKey(HKEY_CLASSES_ROOT,strTemp,&hKey);RegSetValue(hKey,,strlen()+1);RegCloseKey(hKey);sprintf(strTemp,,strAppKey);RegCreateKey(HKEY_CLASSES_ROOT,strTemp,&hKey);sprintf(strTemp,,strAppName);RegSetValue(hKey,"",REG_SZ,strTemp,strlen(strTemp)+1);RegCloseKey(hKey);}strExt[;;BOOL relationExists = CheckFileRelation(strExt, strAppKey);if(!relationExists){;;;RegisterFileRelation(strExt, strAppName, strAppKey, strDefaultIcon, strDescribe);}

我们可以沿途用镜头记录彼此的笑脸,和属于我们的风景。

小鱼的学习笔记

相关文章:

你感兴趣的文章:

标签云: