C 檢查檔案關聯並建立關聯exe

2021-09-29 16:54:51 字數 1277 閱讀 7732

給右鍵新增選單項,微軟首先推薦靜態方式,即給檔案型別或者系統子健新增乙個conmmand命令

如果要新增乙個右鍵選單項,首先考慮新增範圍,1)某一系統子健(系統所有檔案、系統所有目錄、系統空白右鍵、shift右鍵等);2)某一檔案型別新增

系統子健新增

常用的子健: 

hkey_classes_root*:系統所有檔案,右鍵系統任一檔案都會新增右鍵選單 

hkey_classes_root\allfilesystemobjects:系統所有檔案和資料夾,右鍵任一檔案或者資料夾都會新增右鍵選單 

hkey_classes_root\folder:系統所有資料夾,右鍵系統任一資料夾都會新增右鍵選單 

hkey_classes_root\directory:系統所有目錄,右鍵系統任一資料夾都會新增右鍵選單 

hkey_classes_root\directory\background:系統資料夾空白處右鍵,在資料夾內空白處右鍵都會新增右鍵選單 

其他詳情參考msdn

具體在何處新增,根據自己需求處理,有可能會在多處都新增;有興趣的可以仔細看一下自己的登錄檔,或者用「右鍵管理工具」把右鍵功能全部列出來,有的右鍵可能在多個子健下都有新增,或者同一型別的右鍵功能可能是在不同子健下新增的

以hkey_classes_root*為例 

效果如下所示 

command資料可以新增引數,具體使用細節可以查考相關資料,下面給上述新增乙個引數接受檔名稱,在命令之後新增%1接受檔名稱

某一檔案型別新增

給某一檔案型別新增右鍵選單,首先要註冊檔案型別,給系統註冊自己的檔案型別,指明檔案字尾名 

同時新增檔案關聯子項,註冊右鍵選單 

效果如下 

特定檔案新增右鍵選單

上述三個檔案只有在右鍵」mytest.myfiletype」的時候才會有右鍵選單,右鍵其他兩個不會有右鍵選單

using system; 

using system.collections.generic;

using system.windows.forms;

using microsoft.win32;

else

else

} }

catch (exception)

/// 假如 檔案關聯 還沒有建立,或是關聯位置已被改變

if (iscreateregistry)

catch (exception)

} }

} }

}

**來自:

建立控制項並關聯事件

function createproductmodule obj else 機型 function setpromodeloption brand var res makepolicy.getproductmodelbyuser brand var promodel makepolicy.getmo...

C 實現檔案關聯

和其他語言一樣,c 實現檔案關聯同樣需要直接操作登錄檔,即按規則分別設定副檔名,文件型別說明,友好名稱,圖示,呼叫方法等鍵值即可,網上隨便查查就可以寫出以下的 using microsoft.win32 key registry.classesroot.createsubkey jeebook.re...

EXE檔案關聯丟失的解決方法

故障現象 進入系統 2000 xp 以後,所有擴充套件名為exe的檔案都不能執行。執行某一程式,會突然彈出乙個對話方塊報警,例如 標題為 c program files microsoft office osa9.exe 提示資訊為 該檔案沒有關聯程式執行該操作,請在控制面板的資料夾選項中建立關聯程...