IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁操作系統(tǒng)windows → Windows文件關(guān)聯(lián)的實(shí)現(xiàn)原理

Windows文件關(guān)聯(lián)的實(shí)現(xiàn)原理

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  Windows中的文件雙擊的時(shí)候,如果有程序關(guān)聯(lián)了該文件的擴(kuò)展名,那么就會(huì)用關(guān)聯(lián)的程序打開該文件。那么它內(nèi)部是怎么實(shí)現(xiàn)的呢?今天我給大家簡單講一下。

  一切都在注冊表

  所有注冊了的擴(kuò)展名都在Windows的注冊表中,它的鍵值位于:

  HKEY_CLASSES_ROOT

  如下圖,可以看到有很多的注冊表鍵值:

image

  我們看一下.txt的鍵值:

image

  比較奇怪的是這里沒有發(fā)現(xiàn)有哪個(gè)鍵值寫了用什么程序來打開它。

  奧秘就在于.txt的默認(rèn)值,請看一下.txt的默認(rèn)值:

image

  .txt 的默認(rèn)值是:

  txtfile

  那這個(gè)txtfile是什么東西呢?其實(shí)txtfile也是一個(gè)位于HKEY_CLASSES_ROOT下的鍵值,它的路徑是:

  HKEY_CLASSES_ROOT\txtfile

  那就看下txtfile是什么東西:

image

  看上圖,大家注意到了沒有,這里有一個(gè)shell\open\command的子條目,再打開這個(gè)條目看看:

image

  看到了沒,notepad.exe就是"記事本",后面的%1 一般用來傳遞被打開的文件路徑。

  我找到這里,就猜想,這個(gè)就是默認(rèn)的打開程序。

  實(shí)踐驗(yàn)證

  上面是猜想,還需要驗(yàn)證一下。

  我新建了一個(gè).test的擴(kuò)展名,把該類型注冊為testfile。

image

  再新建一個(gè)testfile條目:

image

  測試一下:

image

  總結(jié)

關(guān)聯(lián)擴(kuò)展名

  首先,Windows在注冊表中查找對應(yīng)的擴(kuò)展名有無注冊,有注冊就讀取該擴(kuò)展名對應(yīng)的文件類型,找到文件類型再從中讀取關(guān)聯(lián)的程序,從而調(diào)用該程序來打開。

關(guān)鍵詞標(biāo)簽:Windows,文件關(guān)聯(lián)

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 如何修改服務(wù)器3389端口 如何修改服務(wù)器3389端口 Win11系統(tǒng)怎么設(shè)置中文-Win11更改成中文的方法教程 Win11系統(tǒng)怎么設(shè)置中文-Win11更改成中文的方法教程 Win11怎么設(shè)置同步時(shí)間-Win11手動(dòng)同步時(shí)間操作方法 Win11怎么設(shè)置同步時(shí)間-Win11手動(dòng)同步時(shí)間操作方法 Win11怎么在開始菜單添加快捷方式-開始菜單添加快捷方式操作方法 Win11怎么在開始菜單添加快捷方式-開始菜單添加快捷方式操作方法

相關(guān)下載

    人氣排行 [聲音故障]XP沒有聲音,丟失Windows Audio服務(wù)(AudioSrv)[警告:2003不一定適用 解決Windows 7黑屏的有效方法 windows2003中關(guān)于軟路由設(shè)置方法的具體介紹 Windows不能在本地計(jì)算機(jī)啟動(dòng)OracleDBConsoleorcl 一個(gè)空文件夾刪不掉的解決辦法 微軟Windows錯(cuò)誤代碼大全(2) 用Windows命令行實(shí)現(xiàn)自動(dòng)SSH代理 Windows 7加XP的局域網(wǎng)搭建與文件共享