註冊檔案型別,關聯檔案

2021-04-02 19:43:55 字數 1735 閱讀 2622

bool function::registerfiletype(lpctstr houzhui,lpctstr fmiaoshu,lpctstr wmiaoshu,lpctstr filepath)

{hkey hkey = null;

dword dwdip=0;

lptstr newreg=new tchar[512];

tchar bufpath[256];

if(filepath==null)

getmodulefilename(null,bufpath,256);

else

lstrcpy(bufpath,filepath);

bool lreturn=::regcreatekeyex(hkey_classes_root,houzhui,null,null,reg_option_non_volatile,key_all_access,0,&hkey,&dwdip);

if(lreturn != error_success)

return false;

::regsetvalueex(hkey, 0, 0, reg_sz, (const byte *)fmiaoshu, lstrlen(fmiaoshu));

lreturn=::regcreatekeyex(hkey_classes_root,fmiaoshu,null,null,reg_option_non_volatile,key_all_access,0,&hkey,&dwdip);

if(lreturn != error_success)

return false;

::regsetvalueex(hkey, 0, 0, reg_sz, (const byte *)wmiaoshu, lstrlen(wmiaoshu));

lstrcpy(newreg,fmiaoshu);

lstrcat(newreg,_t("//defaulticon"));

lreturn=::regcreatekeyex(hkey_classes_root,newreg,null,null,reg_option_non_volatile,key_all_access,0,&hkey,&dwdip);

if(lreturn != error_success)

return false;

lstrcpy(newreg,bufpath);

lstrcat(newreg,_t(",0"));

::regsetvalueex(hkey, 0, 0, reg_sz, (const byte *)newreg, lstrlen(newreg));

lstrcpy(newreg,fmiaoshu);

lstrcat(newreg,_t("//shell//open//command"));

lreturn=::regcreatekeyex(hkey_classes_root,newreg,null,null,reg_option_non_volatile,key_all_access,0,&hkey,&dwdip);

if(lreturn != error_success)

return false;

lstrcpy(newreg,_t("/""));

lstrcat(newreg,bufpath);

lstrcat(newreg,_t("/" /"%1/""));

::regsetvalueex(hkey, 0, 0, reg_sz,(const byte *)newreg, lstrlen(newreg));

註冊檔案型別,並關聯程式(三)

雙擊一個txt檔案,就能用記事本開啟,因為txt檔案關聯了記事本程式。想讓你自定義的檔案型別也通過雙擊就能直接呼叫你的程式並開啟?ok,首先我們找到第一期,看到其中的這行 registry.setvalue hkey classes root myguo shell open command d b...

註冊檔案型別,並關聯程式(二)

registry.setvalue hkey classes root myguo defaulticon d bin guo.ico 怎麼把ico檔案打包 編譯 到exe檔案中,請參看 將多個圖示檔案編譯到c 程式中 假設我們把兩個ico檔案編譯到了guo.exe檔案中,第一個作為exe的預設圖示...

註冊檔案型別,並關聯程式(一)

在windows上,不同的副檔名會顯示不同的圖示。但是如果你的程式使用了自己定義的一種副檔名 比如.guo windows發現其為 未知型別 時,會顯示一個預設的未知型別圖示,既不好看又不容易在一堆檔案中快速找到你的檔案。所以,本文將介紹怎麼通過登錄檔來實現更改檔案的預設圖示。以.guo型別為例 副...

Qt 如何實現檔案型別關聯

何為檔案開啟關聯,比如,一個副檔名為txt的文字,雙擊之後會呼叫 notepad.exe 進行開啟,doc的副檔名會呼叫word開啟等等。咱們今天講的是如何在qt所編寫的程式實現這個動作。這個關聯動作都是記錄在登錄檔中的。1 檔案格式註冊,比如我自己註冊了swf格式 則在 hkey classes ...

Qt 如何實現檔案型別關聯

何為檔案開啟關聯,比如,一個副檔名為txt的文字,雙擊之後會呼叫 notepad.exe 進行開啟,doc的副檔名會呼叫word開啟等等。咱們今天講的是如何在qt所編寫的程式實現這個動作。這個關聯動作都是記錄在登錄檔中的。1 檔案格式註冊,比如我自己註冊了swf格式 則在 hkey classes ...