關聯自己的應用程式到右鍵選單中 (轉)
關聯自己的應用到右鍵選單中: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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手動新增git到 右鍵選單Git
- javascript右鍵選單JavaScript
- 管理右鍵選單
- win10滑鼠右鍵選單欄怎麼改 刪除右鍵選單欄無用選項的方法Win10
- 自定義右鍵選單
- win10右鍵選單出現左邊如何恢復到右邊_win10右鍵選單在左邊怎麼改回右邊Win10
- Qt右鍵選單實現QT
- windows11 始終右鍵選單顯示更多選項/右鍵選單返回舊版Windows
- 如何給頁面新增追加右鍵選單(原右鍵選單功能保持不變)
- win10怎麼在桌面右鍵選單新增關閉顯示器選項_win10右鍵選單新增關閉顯示器的教程Win10
- Windows10系統右鍵選單中的“radeon”選項的方法Windows
- 如何管理win10右鍵新建選單_win10如何清理右鍵新建選單Win10
- 新增右鍵選單: SourceTree 右鍵開啟當前目錄
- jq模仿右鍵觸發選單
- 自定義 Windows 右鍵選單項Windows
- Windows如何新增右鍵新建選單Windows
- win7系統安裝bandizip後右鍵選單沒有關聯選項怎麼辦Win7
- 批處理檔案來實現右鍵 DLL 註冊的功能,實現右鍵選單中的自定義 DLL 註冊功能,你需要編輯登錄檔來新增相應的登錄檔項,PowerShell 指令碼,用於註冊 DLL 並將其與右鍵選單項關聯起來:指令碼
- Windows 配置新增右鍵選單 —— 在VSCode中開啟WindowsVSCode
- 滑鼠右鍵選單欄東西太多怎麼辦 右鍵選單怎麼編輯調整
- win10桌面右鍵選單清理的方法_如何清理win10桌面右鍵選單Win10
- win11 恢復右鍵選單
- [msys2]整合到右鍵選單
- win10右鍵skydrive pro選項怎麼刪除_win10右鍵選單中skydrive pro選項的刪除方法Win10
- win11右鍵選單怎麼改回win10 win11右鍵選單改回win10的方法Win10
- Windows 11刪除右鍵選單的新建選單的bmp影像(Bitmap image)Windows
- 刪除Windows 10右鍵選單中的授予訪問許可權選項Windows訪問許可權
- win10怎麼去除桌面右鍵多餘選單命令_win10如何清理右鍵新建選單Win10
- win10右擊選單欄裡面無用的怎麼刪掉_win10怎麼刪除右鍵選單中多餘的專案Win10
- win11使用傳統右鍵選單
- win11右鍵選單怎麼還原經典選單
- 選擇低程式碼應用程式開發框架的5個關鍵標準框架
- Win11如何找回熟悉的開始選單、工作列和右鍵選單
- Win10系統如何新增或刪除右鍵選單中的“傳送到”選項Win10
- Windows登錄檔增加右鍵多級選單Windows
- windows右鍵選單擴充套件容器[開源]Windows套件
- vscode外掛編寫體驗-右鍵選單VSCode
- C/C++ Qt 給ListWidget增加右鍵選單C++QT
- win10系統中怎麼給右鍵選單選項新增圖示Win10