六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用程序完成文件的關聯

[摘要]文件關聯在程序設計中有著重要的作用,它的目的是要實現某種擴展名的文件由相應的應用程序來打開,有許多的軟件,特別試那些媒體播放軟件,大都實現了文件的關聯,可以想象,一個與文件相關的軟件連文件關聯就沒有做到,它還如何混下去。另外,由于一般應用程序都有自己特定擴展名的數據文件,這也要求軟件編制者應在程序...
文件關聯在程序設計中有著重要的作用,它的目的是要實現某種擴展名的文件由相應的應用程序來打開,有許多的軟件,特別試那些媒體播放軟件,大都實現了文件的關聯,可以想象,一個與文件相關的軟件連文件關聯就沒有做到,它還如何混下去。另外,由于一般應用程序都有自己特定擴展名的數據文件,這也要求軟件編制者應在程序中實現自動關聯而不能由用戶手工去實現。那如何實現文件的關聯呢?實現文件關聯的核心是對注冊表的操作, 所有的文件關聯都在HKEY—CLASSES— ROOT 下面, 要實現文件關聯必須在HKEY—CLASSES—ROOT 中增加兩個鍵值,一是和文件擴展名對應的類型說明,二是對這種類型文件的操作所需要執行的應用程序。下面范例可以說明如何實現文件的關聯,本例的功能是將用戶指定擴展名的文件與用戶指定的應用程序相關聯,雙擊此種類型的文件時就可以由相應的應用程序來打開。該范例程序是用Borland C++ Builder實現的,部分代碼如下:



進行文件的關聯:

void __fastcall TForm1::btnAssoClick(TObject *Sender)

{

    TRegistry *Reg = new TRegistry;

    Reg->RootKey=HKEY_CLASSES_ROOT;

    try

    {

        Reg->OpenKey(extDoWith(edtExt->Text),true);

        Reg->WriteString("",appDoWith(edtAppPath->Text));

        Reg->CloseKey();

        Reg->OpenKey(appDoWith(edtAppPath->Text)+"\\shell\\open\\command",true);

        Reg->WriteString("",edtAppPath->Text);

        Reg->CloseKey();   

    }

    __finally

    {

        delete Reg;

    }

}



以上代碼實現了文件的關聯,它用到了C++Builder提供Tregistry組件,它提供了許多用于操作注冊表的方法,如:OpenKey打開注冊表的某個鍵,WriteString往注冊表了寫值等,這就避免了去使用比較麻煩的RegCreateKey、RegSetValue等Win32API來完成同樣的功能。 而extDoWith(),appDoWith()分別為自定義的函數它們的功能是設置關聯文件的擴展名和取得應用程序的文件名,代碼如下:

extDoWith()函數:

AnsiString __fastcall TForm1::extDoWith(AnsiString str)

{

    //TODO: Add your source code here

        //在擴展名前加上.符號

    if (str.SubString(0,1)!=".")

    {

        str="."+str;

    }

    return str;

}



appDoWith()函數:

AnsiString __fastcall TForm1::appDoWith(AnsiString appPath)

{

    //TODO: Add your source code here

        //取得應用程序的文件名,不帶擴展名

    int length=appPath.Length();

    int index=appPath.LastDelimiter("\\");

    appPath=appPath.SubString(index+1,length-index+1);

    index=appPath.LastDelimiter(".");

    appPath=appPath.SubString(0,index-1);

    return appPath;

}



這樣就實現了文件類型與應用程序的關聯,如果您對本程序感興趣的話,可以到http://www.zccfamily.com/zqget/ 網址下載該程序的工程文件。如果你有與我交流的想法,我的聯系方式:email:[email protected]


主站蜘蛛池模板: 婷婷综合激情网 | 亚洲视频在线观 | 日本不卡高清免费v日本 | 欧美性乱 | 午夜影库| 四虎影院久久 | 在线亚洲播放 | 一本久久道aa兔费看 | 热99精品视频 | 亚洲精品男人天堂 | 四虎影院在线免费观看 | 亚洲一区二区三区影院 | 亚洲 欧美 自拍 另类 欧美 | 香蕉app在线观看免费版 | 亚洲欧美日韩一级特黄在线 | 亚洲操图 | 天天躁夜夜躁很很躁 | 亚洲狠狠97婷婷综合久久久久 | 三级黄色免费片 | 台湾佬成人中文网222vvv | 亚洲欧洲色天使日韩精品 | 亚洲精品国产福利在线观看 | 午夜免费视频 | 日日干夜夜草 | 青青青国产免费 | 午夜性刺激片免费观看成人 | 午夜激情视频在线观看 | 天天躁日日躁狠狠躁欧美日韩 | 中文字幕乱码一二三四区 | 一个色综合网 | 一级做a爰片久久毛片16 | 青青青青青国产免费手机看视频 | 欧美一区二区三区婷婷月色 | 热久久久| 青青青手机在线视频 | 日日噜噜噜夜夜爽爽狠狠69 | 四虎影院一区二区 | 五月综合激情视频在线观看 | 天天艹天天射 | 日韩福利视频导航 | 色美女影院 |