亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

VC++實現文件與應用程序關聯的方法(注冊表修改)

2020-01-26 14:29:06
字體:
來源:轉載
供稿:網友

本文實例講述了VC++實現文件與應用程序關聯的方法。分享給大家供大家參考,具體如下:

日常工作中,doc文件直接雙擊后,就能啟動word軟件,并讀取該文檔的內容在軟件中顯示,這都得益于注冊表的配置,我們的軟件也需要實現這樣的功能,該如何寫注冊表以及寫入哪些內容呢?下面的兩個函數就能實現這個功能。CheckFileRelation是檢查注冊表中是否已經將我們期待的文件格式與相應軟件關聯了;RegisterFileRelation是直接往注冊表中寫入相關的key和value。

/***************************************************** 檢測文件關聯情況* 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);}

有了這兩個函數后,可以實現文檔和軟件的關聯了,但是雙擊文檔后,又是如何讀取文檔的內容的呢?這里主要是用到了命令行參數,我們需要在CTestApp的InitInstance函數獲取命令行參數,如:

BOOL CTestApp::InitInstance(){  //這里的m_lpCmdLine是CWinApp的成員變量,雙擊文檔時,文檔的路徑會傳給該參數  CString pathName = m_lpCmdLine;  if (pathName != _T(""))  {   //TODO:讀取文件、解析文件、呈現文件  }}

希望本文所述對大家VC++程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线日韩日本国产亚洲| 狠狠综合久久av一区二区小说| 日本19禁啪啪免费观看www| 庆余年2免费日韩剧观看大牛| 久久精品国产成人精品| 亚洲理论片在线观看| 韩国三级电影久久久久久| 91国内免费在线视频| 欧美日韩精品中文字幕| 国产一区二区三区精品久久久| 91在线免费观看网站| 亚洲香蕉av在线一区二区三区| 国产精品久久久久久久久久久久| 国产精品狼人色视频一区| 欧美国产视频日韩| 日韩亚洲欧美中文高清在线| 欧美极品美女电影一区| 精品成人久久av| 成人精品视频久久久久| 一个人看的www久久| 亚洲午夜av电影| 91精品国产成人www| 欧美电影院免费观看| 4444欧美成人kkkk| 国产69精品99久久久久久宅男| 91精品国产综合久久香蕉922| 91精品久久久久久综合乱菊| 国产日韩欧美视频在线| 久久99久国产精品黄毛片入口| 色婷婷av一区二区三区久久| 国产色视频一区| 国产日韩在线视频| 色哟哟网站入口亚洲精品| 欧美高清视频一区二区| 亚洲a在线观看| 欧美乱大交xxxxx| 亚洲一区www| 成人网在线视频| 久久国产精品久久久久| 久久天堂电影网| 亚洲精品视频免费在线观看| 久久精品久久久久| 国产网站欧美日韩免费精品在线观看| 97精品一区二区视频在线观看| 黑人精品xxx一区一二区| 超碰91人人草人人干| 欧美片一区二区三区| 日韩久久精品电影| 国产精品流白浆视频| 亚洲精品在线91| 浅井舞香一区二区| 国产午夜精品美女视频明星a级| 日韩成人久久久| 日韩精品有码在线观看| 狠狠做深爱婷婷久久综合一区| 欧美一区二区三区……| 亚洲欧洲在线播放| 成人春色激情网| 亚洲色图av在线| 18一19gay欧美视频网站| 91中文精品字幕在线视频| 91久久精品国产| 久久精品色欧美aⅴ一区二区| 欧美午夜性色大片在线观看| 国产精品igao视频| 国产精品稀缺呦系列在线| 成人做爰www免费看视频网站| 亚洲成av人乱码色午夜| 国产成人精品在线播放| 久久国产精品99国产精| 色先锋久久影院av| 欧美日韩一区二区在线播放| 亚洲国产精品悠悠久久琪琪| 在线视频免费一区二区| 伊人伊成久久人综合网站| 成人妇女淫片aaaa视频| 久久精品精品电影网| 精品国产一区二区三区四区在线观看| 国产精品入口尤物| 欧美精品videofree1080p| 亚洲国产精品字幕| 中文字幕国产亚洲| 成人综合网网址| 欧美日韩国产在线| 亚洲xxxx视频| 精品久久久久久中文字幕一区奶水| 国产精品视频1区| 一本色道久久88综合亚洲精品ⅰ| 久99九色视频在线观看| 亚洲欧美中文日韩在线v日本| 精品网站999www| 亚洲理论电影网| 国产拍精品一二三| 一区二区在线免费视频| 亚洲色图校园春色| 日韩精品在线免费播放| www.国产一区| 久久91精品国产91久久跳| 久久久国产一区二区| 色婷婷av一区二区三区在线观看| 欧美日韩久久久久| 国产欧美 在线欧美| 欧美一级淫片videoshd| 国产精品成人一区| 成人精品视频在线| 亚洲欧美国产另类| 国产va免费精品高清在线观看| 日韩黄色av网站| 成人免费在线视频网址| 91久久精品一区| 国产色综合天天综合网| 91在线|亚洲| 青青久久av北条麻妃黑人| 成人免费网站在线看| 日本一区二区不卡| 91精品国产乱码久久久久久久久| 亚洲色图在线观看| 欧美日韩在线一区| 国产欧美日韩91| 91久久久久久国产精品| 精品国内自产拍在线观看| 亚洲欧洲在线免费| 亚洲欧美国产va在线影院| 孩xxxx性bbbb欧美| 伊人伊成久久人综合网小说| 久久久精品国产一区二区| 国产欧美精品xxxx另类| 日韩在线观看免费高清完整版| 日韩性xxxx爱| 国产成人在线精品| 国产97色在线| 91精品国产网站| 欧美日韩中文字幕在线| www.欧美精品| 久久久久久久久中文字幕| 九九热在线精品视频| 欧美在线视频导航| 色天天综合狠狠色| 在线免费观看羞羞视频一区二区| 在线看片第一页欧美| 欧美性猛交xxxx乱大交蜜桃| 亚洲男人天天操| 国产成人精品视频在线观看| 久久久精品一区二区| 91产国在线观看动作片喷水| 97香蕉超级碰碰久久免费的优势| 亚洲第一福利在线观看| 欧美黑人极品猛少妇色xxxxx| 欧美性生交xxxxx久久久| 久久夜精品香蕉| 成人激情黄色网| 欧美高清自拍一区| 成人精品久久一区二区三区| 美日韩精品视频免费看| 亚洲视频777| 欧美激情一区二区三区久久久| 国产精品久久久久久久久免费| 国产xxx69麻豆国语对白| 欧美性理论片在线观看片免费| 亚洲石原莉奈一区二区在线观看| 日韩精品丝袜在线| 91九色视频在线| 国产亚洲欧美日韩美女| 欧美精品一区二区免费|