給右鍵新增選單項,微軟首先推薦靜態方式,即給檔案型別或者系統子健新增乙個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 提示資訊為 該檔案沒有關聯程式執行該操作,請在控制面板的資料夾選項中建立關聯程...