如何将自己的程序加入到系统的快捷菜单中(即鼠标右键弹出的菜单)?
解决方案 »
- 关于CHtmlEditView在编辑模式和预览模式切换的问题
- 对话框程序,改变了背景颜色再改变了EDIT控件颜色,但EDIT控件的白色边(3D边框)不知如何改颜色?
- isapi的扩展程序能用msxml4.dll吗?
- 如何重启后不点确定或取消呢?
- 请教!送分,如何在VC中给一个控件增加一个MOUSEMOVE的消息啊?我要加一个MOUSEMOVE的消息处理FUNCTION
- 请问CPU的ID号是否具有唯一性
- 语音识别的问题!
- 请问有办法看到MFC的源程序吗?
- 请大家帮忙
- 关于DLL文件无法找到的问题
- 父窗口与子窗口的数据交换问题?
- 如何用matlab将一个1*32678的矩阵转换为4096*8的矩阵???
http://www.codeproject.com/shell/shellextguide7.asp
http://www.codeproject.com/shell/commandprompt.asp--------------------------------------------------------------------------------
在右键菜单中添加item可以用一个com,楼上所说的方法都是那样,也可以直接修改注册表,如下注册文件:
REGEDIT4[HKEY_CLASSES_ROOT\.dll]
@="dllfile"[HKEY_CLASSES_ROOT\dllfile\shell\Register Component\command]
@="regsvr32 \"%L\""将上面代码拷贝到一个文本文件中,save as a.reg,运行a.reg即可在右键菜单添加一项,以后再右键点击一个dll文件的时候将看到Register component菜单,点击该菜单将执行动态库注册。
http://www.csdn.net/expert/topic/1015/1015222.xml?temp=.2947657
给系统菜单添加一个菜单项需要进行下述三个步骤:--------------------------------------------------------------------------------
首先,使用Resource Symbols对话(在View菜单中选择Resource Symbols...可以显示该对话)定义菜单项ID,该ID应大于0x0F而小于0xF000;
其次,调用CWnd::GetSystemMenu获取系统菜单的指针并调用CWnd:: Appendmenu将菜单项添加到菜单中。下例给系统菜单添加两个新的
int CMainFrame:: OnCreate (LPCREATESTRUCT lpCreateStruct)
{
…
//Make sure system menu item is in the right range.
ASSERT (IDM_MYSYSITEM &0xFFF0)==IDM_MYSYSITEM)
ASSERT (IDM-MYSYSITEM < 0xf000)
//Get pointer to system menu.
CMenu* pSysmenu=GetSystemmenu (FALSE)
ASSERT_VALID (pSysMenu)
//Add a separator and our menu item to system menu.
CString StrMenuItem (_T ("New menu item"))
pSysMenu->Appendmenu (MF_SEPARATOR)
pSysMenu->AppendMenu (MF_STRING, IDM_MYSYSITEM, strMenuitem)
…
}
现在,选择系统菜单项时用户应进行检测。使用ClassWizard处理WM_SYSCOMMAND消息并检测用户菜单的nID参数:
void CMainFrame:: OnSysCommand (UINT nID,LPARAM lParam)
{
//Determine if our system menu item was selected.
if ( (nID & 0xFFF0)==IDM_MYSYSITEM)
{
//TODO-process system menu item
}
else
CMDIFrameWnd ::OnSysCommand (nID, lParam)
}
最后,一个设计良好的UI应用程序应当在系统菜单项加亮时在状态条显示一个帮助信息,这可以通过增加一个包含系统菜单基ID的串表的入口来实现。--------------------------------------------------------------------------------
1.启动注册表编辑器
2 展开HKEY_CLASSES_ROOT
3 展开Unknow子项
4 单击shell项后右击
5 从显示菜单中选择New, 然后选择key
6 输入要显示的程序名称后,单击OK确定
7 右击新建子键后单击New
8 再次选择Key,输入Command, 回车确定
9 单击新建Command子键,双击(Default)
10 输入可执行文件全路径名称及 %1
如C:\program files\mypro\mypro.exe %1--------------------------------------------------------------------------------
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Folder\shell\从这里进入DOS]
@="从这里进入DOS"
[HKEY_CLASSES_ROOT\Folder\shell\从这里进入DOS\command]
@="cmd.exe /k cd \"%1\""[HKEY_CLASSES_ROOT\*\Shell\用记事本打开]
@="用记事本打开"
[HKEY_CLASSES_ROOT\*\Shell\用记事本打开\command]
@="notepad.exe \"%1\""