右键文件关联
来源:互联网 发布:怪物猎人p3数据库安卓 编辑:程序博客网 时间:2024/04/29 22:04
// 获取桌面文件夹 LPSHELLFOLDER lpDeskFolder = NULL; ::SHGetDesktopFolder(&lpDeskFolder); if( lpDeskFolder == NULL ) { ASSERT(FALSE); return; } int nPathLen = m_strFolder.GetLength(); LPITEMIDLIST ParentPidl = NULL; DWORD dwEaten = 0; USES_CONVERSION; DWORD dwResult = lpDeskFolder->ParseDisplayName( GetSafeHwnd() , 0 , A2W(m_strFolder) , &dwEaten , &ParentPidl , 0); if( dwResult != NOERROR ) { ASSERT( FALSE ); return; } // 得到IShellFolder的信息 LPSHELLFOLDER lpParentFolder = NULL; lpDeskFolder->BindToObject( ParentPidl , 0 , IID_IShellFolder , (void **)&lpParentFolder ); if( lpParentFolder == NULL ) { lpDeskFolder->Release(); lpParentFolder->Release(); ASSERT( FALSE ); return; } LPITEMIDLIST lpItemIDList = NULL; //StringToWideChar(strFileName, wszPath, MAX_PATH); lpParentFolder->ParseDisplayName( GetSafeHwnd() , 0 , A2W(GetSelItemText(0)) , &dwEaten , &lpItemIDList , 0 ); // 得到文件得快捷菜单 LPCONTEXTMENU lpContextMenu = NULL; lpParentFolder->GetUIObjectOf( GetSafeHwnd() , 1 , (LPCITEMIDLIST *)&lpItemIDList , IID_IContextMenu , 0 , (void**)&lpContextMenu ); if( lpContextMenu == NULL ) { lpDeskFolder->Release(); lpParentFolder->Release(); ASSERT( FALSE ); return; } // 定义一个CMINVOKECOMMANDINFO结构. CMINVOKECOMMANDINFO ici; ZeroMemory( &ici, sizeof(ici)); ici.cbSize = sizeof(CMINVOKECOMMANDINFO); ici.hwnd = GetSafeHwnd(); // 如果是弹出文件属性的对话框就用这个 /* ici.lpVerb = "Properties"; lpContextMenu->InvokeCommand(&ici); */ // 下面是弹出右键菜单的代码 HMENU hMenu = CreatePopupMenu(); dwResult = CMF_EXPLORE; lpContextMenu->QueryContextMenu( hMenu, 0, 1, 0x7FFF, dwResult); // 显示菜单 POINT pt; GetCursorPos(&pt); int Cmd = TrackPopupMenu( hMenu , TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON | TPM_RETURNCMD , pt.x , pt.y , 0 , GetSafeHwnd() , 0 ); ici.lpVerb = MAKEINTRESOURCE(Cmd - 1); ici.lpParameters = ""; ici.lpDirectory = ""; ici.nShow = SW_SHOWNORMAL; lpContextMenu->InvokeCommand(&ici); // 弹出右键菜单结束 lpContextMenu->Release(); lpParentFolder->Release(); lpDeskFolder->Release();
- 右键文件关联
- 右键文件关联
- 右键文件关联
- 右键文件关联
- 右键文件关联
- UltraEdit文件关联的设置和添加到右键菜单
- UltraEdit-32 使用技巧:右键关联,取消 bak文件
- 详解右键关联菜单
- Editplus添加右键关联
- WIN7添加右键关联
- 给Python关联文件py的右键菜单加上“以管理员权限运行”菜单
- 【转】FileTypesMan 强大的文件类型管理工具 (文件扩展名关联/右键菜单管理利器)
- 计算机点击右键管理打不开,显示没有与之关联的执行文件
- 绿色版NotePad++添加右键关联
- 文件关联
- 文件关联
- 文件关联
- 文件关联
- 关于C++模板和重载的小问题
- C/C++移位运算符出界后的结果是不可预期的
- C++编译器检索VTABLE的具体方法不同
- 在Win2K/XP/2K3中 模拟实现VISITA效果对话框
- C程序员面试
- 右键文件关联
- 在console中 使用C Runtime 和 STL 显示 Unicode中文
- [MSSQL]将用户表 存储过程 变成系统的
- [C++] 获取字体点阵
- [WDM]驱动程序框架 我还没写完 好忙 没时间玩
- [C#] 生成略缩图
- [C#] 自己封装的一个数据库访问类 让ado.net 用起来和ado一样
- [c++]一个对MSXML的封装类 使用C++的Smart Pointer 对MSXML DOM封装,可以方便地访问xml文件
- VS2005中使用主题统一页面风格