Wolfgang Chien's Homepage | Delphi學習筆記 - 問答篇 |
我們知道可以用 FindExecutable API 來得知一個檔案的關聯 (如 .doc -> Word), 那如果要倒回來做, 我想設定一個檔案的關聯時, 應該怎麼做呀 ? 請會的人教一下哦!謝謝..:)
可能沒有比較快的方法, 還是得從 register database 的內容改起, 應用 RegCreateKey() 與 RegSetValue() 這兩個 API 可以完成這件工作. 以下有一個將 *.me 的讀我檔案與 NotePad.exe 連起來的實例, 希望對您會有幫助.
另外, 我剛才在 MSDN 中也找到一個將這些登錄資訊個別存成 .reg 檔, 然後呼叫 regedit MyFile.reg 匯入的方式, 看起來言之成理, 應該也值得一試.
procedure TForm1.Button1Click(Sender: TObject); var lphKey: HKEY; sKeyName: string; sKeyValue: string; begin sKeyName := 'ReadMeFile'; sKeyValue := '讀我檔案'; RegCreateKey(HKEY_CLASSES_ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, '', REG_SZ, pchar(sKeyValue), 0); sKeyName := '.me'; sKeyValue := 'ReadMeFile'; RegCreateKey(HKEY_CLASSES_ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, '', REG_SZ, pchar(sKeyValue), 0); sKeyName := 'ReadMeFile'; sKeyValue := 'c:\Windows\NotePad.exe %1'; RegCreateKey(HKEY_CLASSES_ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, 'shell\open\command', REG_SZ, pchar(sKeyValue), MAX_PATH); end;
首頁 | 學習筆記 | 主題公園 | 軟體下載 | 關於本站 | 討論信群 | 相約下次 |