關聯自己的應用程式到右鍵選單中 (轉)
關聯自己的應用到右鍵選單中:namespace prefix = o ns = "urn:schemas--com::office" />
在2000中,當在“我的”或“”中的某一上單擊滑鼠右鍵時會出現一個快捷選單。單擊的位置和不同,快捷選單的內容也不盡相同。使用者可根據自己的需要定製快捷選單中的一些內容。
假設使用者希望在txt檔案型別的右鍵快捷選單中關聯上自己的應用程式 (使用者的應用程式名為mytxtapp.exe,在D盤根目錄下) ,步驟如下:
1、在登錄檔中找到並開啟HKEY_CLASSES_.txt子鍵,查到其預設鍵值項資料為“txtfile”。
2、在登錄檔中找到並開啟HKEY_CLASSES_ROOTtxtfile子鍵,在該子鍵的子鍵中新增一個“我的文字應用程式”子鍵,並將該子鍵的預設鍵值項資料設為“用我的文字程式開啟”,“用我的文字程式開啟”將作為新新增選單項的名字出現在右鍵選單中。雙引號內的文字使用者可隨意設定。
3、在HKEY_CLASSES_ROOTtxtfileshell我的文字應用程式子鍵中新增一個command子鍵,並將command子鍵的預設鍵值項資料設為“d:mytxtapp.exe %1”,此處設定的資料是在快捷選單中選中相應的選單項時的程式,%1表示應用程式啟動時自動將當前檔案裝入。
[應用例項]
用VC++的應用程式嚮導AppWizard建立一基於對話方塊的程式,接受所有預設選項。
在主對話方塊中新增一個按鈕,雙擊該按鈕,接受預設名,在該按鈕的訊息響應中新增如下程式碼:
HKEY hresult;
CString str1,str2;
long value;
LPCTSTR dataset1="txtfileshell我的文字應用程式";
LPCTSTR dataset2="txtfileshell我的文字應用程式command";
str1="用我的文字程式開啟";
str2="d:mytxtapp.exe %1";
D dwPos;
//建立“我的文字應用程式”子鍵
value=RegCreateKeyEx(HKEY_CLASSES_ROOT,dataset1,0,NULL,REG_OPTION_NON_VOLATILE,KEY_CREATE_SUB_KEY|KEY_ALL_ACCESS,NULL,&hresult,&dwPos);
//將該子鍵的“預設”資料項的資料設定為“用我的文字程式開啟”
value=RegSetValueEx(hresult,NULL,0,REG_SZ,(const BYTE*)(LPCTSTR)str1,str1.GetLength());
//建立“command”子鍵
value=RegCreateKeyEx(HKEY_CLASSES_ROOT,dataset2,0,NULL,REG_OPTION_NON_VOLATILE,KEY_CREATE_SUB_KEY|KEY_ALL_ACCESS,NULL,&hresult,&dwPos);
//將該子鍵的“預設”資料項的資料設定為使用者應用程式的路徑
value=RegSetValueEx(hresult,NULL,0,REG_SZ,(const BYTE*)(LPCTSTR)str2,str2.GetLength());
::RegCloseKey(hresult);
這段程式碼用來關聯使用者的應用程式。
在主對話方塊中再新增一個按鈕控制元件,雙擊該按鈕,接受預設名,在該按鈕的訊息響應函式中新增如下程式碼:
HKEY hKey;
LPCTSTR dataset1="txtfileshell我的文字應用程式";
LPCTSTR dataset2="txtfileshell";
long ret1=::RegOpenKeyEx(HKEY_CLASSES_ROOT,dataset1,0,KEY_READ,&hKey);
//刪除“command”子鍵
::RegDeleteKey(hKey,LPCTSTR("command"));
::RegCloseKey(hKey);
ret1=::RegOpenKeyEx(HKEY_CLASSES_ROOT,dataset2,0,KEY_READ,&hKey);
//刪除“我的文字應用程式”子鍵
::RegDeleteKey(hKey,LPCTSTR("我的文字應用程式"));
::RegCloseKey(hKey);
這段程式碼用來恢復登錄檔中的預設資料。
至此,我們完成了在副檔名為.txt檔案的右鍵選單中關聯上自己的應用程式,但不是.txt檔案的右鍵選單上不會出現該選單項。如果使用者希望在所有檔案型別的右鍵選單中關聯上自己的應用程式,則應在HKEY_CLASSES_ROOT*shell子鍵下進行操作,操作步驟同上。對於關聯其他型別的檔案依此類推。
以上程式在Windows2000和VC6中透過。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993264/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#將自己的程式新增到右鍵選單C#
- 將自已的程式加到滑鼠右鍵選單裡(轉)
- 輕鬆去掉web中flash右鍵選單【轉】Web
- 手動新增git到 右鍵選單Git
- 右鍵選單中的文字文件新增快捷鍵
- Win7/Win8.1右鍵選單技巧:應用程式任意加Win7
- 管理右鍵選單
- javascript右鍵選單JavaScript
- javascript自定義右鍵選單程式碼JavaScript
- win10滑鼠右鍵選單欄怎麼改 刪除右鍵選單欄無用選項的方法Win10
- jQuery實現的禁用右鍵選單程式碼jQuery
- Qt:QT右鍵選單QT
- 自定義右鍵選單
- 遮蔽滑鼠右鍵選單例項程式碼單例
- 禁用文字選擇、右鍵選單例項程式碼單例
- 刪除Win10右鍵選單中的“固定到開始螢幕”選項的方法Win10
- win10右鍵選單出現左邊如何恢復到右邊_win10右鍵選單在左邊怎麼改回右邊Win10
- 右鍵選單遮蔽 和 複製到剪貼簿 的javascriptJavaScript
- 右鍵模擬windows選單Windows
- win10桌面右鍵選單清理的方法_如何清理win10桌面右鍵選單Win10
- windows11 始終右鍵選單顯示更多選項/右鍵選單返回舊版Windows
- TortoiseSVN安裝後右鍵選單沒有TortoiseSVN的相關選項
- 新增“Windows Defender掃描”選項到win10右鍵選單的方法WindowsWin10
- 如何將常用程式新增到win8電腦的右鍵選單中?
- jQuery實現的禁用右鍵選單程式碼例項jQuery
- win10怎麼在桌面右鍵選單新增關閉顯示器選項_win10右鍵選單新增關閉顯示器的教程Win10
- JCEF 如何修改右鍵選單項(JCEF在右鍵選單中新增開發者選項-show dev tools)dev
- 新增右鍵選單: SourceTree 右鍵開啟當前目錄
- 如何管理win10右鍵新建選單_win10如何清理右鍵新建選單Win10
- 清除Win7右鍵選單裡的“傳送到”無用選項Win7
- win7系統安裝bandizip後右鍵選單沒有關聯選項怎麼辦Win7
- 將Sublime Text3新增到右鍵選單中
- 自定義 Windows 右鍵選單項Windows
- jq模仿右鍵觸發選單
- Notepad++ 右鍵選單
- js 做網頁右鍵選單JS網頁
- Windows10系統右鍵選單中的“radeon”選項的方法Windows
- 自定義右鍵導航選單程式碼例項