在資源管理器右鍵選單中新增新的選單項

2021-06-12 05:28:47 字數 1189 閱讀 9749

一、原理

關聯自己的應用程式到右鍵選單中,當使用者在「我的電腦」或「資源管理器」中的某一檔案上單擊滑鼠右鍵時會出現乙個快捷選單。

1、在登錄檔中找到並開啟 hkey_classes_root\.txt子鍵,查到其預設鍵值項資料為「txtfile」。  

2、在登錄檔中找到並開啟 hkey_classes_root\txtfile子鍵,在該子鍵的shell子鍵中新增乙個「新新增文字應用程式」子鍵,並將該子鍵的預設鍵值項資料設為「用測試程式開啟」。

「用測試程式開啟」」將作為新新增選單項的名字出現在右鍵選單中。

此處設定的資料是在快捷選單中選中相應的選單項時執行的程式,%1表示應用程式啟動時自動將當前檔案裝入。  

二、**

hkey hresult; 

cstring str1,str2; 

long result; 

dword dwpos; 

lpctstr dataset1=_t("txtfile\\shell\\新新增文字應用程式");   //若針對所有檔案,將txtfile

改為 allfilesystemobjects

//將該子鍵的「預設」資料項的資料設定為「用測試程式開啟」 

result =regsetvalueex(hresult,

null,

0,reg_sz,

(const byte*)(lpctstr)str1,

str1.getlength()*2);   //unicode到ascii是2倍的關係

//建立「command」子鍵

result =regcreatekeyex(hkey_classes_root,

dataset2,

0,null,

reg_option_non_volatile,

key_create_sub_key|key_all_access,

null,

&hresult,

&dwpos); 

//將該子鍵的「預設」資料項的資料設定為使用者應用程式的路徑 

result =regsetvalueex(hresult,

null,

0,reg_sz,

(const byte*)(lpctstr)str2,

str2.getlength()*2); 

::regclosekey(hresult); 

在資源管理器中新增自定義右鍵選單c

如果我們需要在資源管理器中選中檔案後右鍵出現自定義右鍵選單,我們可以通過修改登錄檔的形式實現 下面例子僅供提供思路 using system using system.collections.generic using system.linq using system.text using micr...

資源管理器

using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace day 09 小型資源管理器 檔案長度 public st...

簡單資源管理器

下面共享乙個我自己的資源管理器,很簡單的,看起來也明白,主要是我是新手,不想寫的太複雜,自己專案使用的好用,便是最好的。using unityengine using system.collections using system.collections.generic using system p...