MFC 用ShellExecute打开外部文件
知识点:
获取CListCtrl选中文本
用ShellExecute打开外部文件 一、CListCtrl::GetFirstSelectedItemPosition
CListCtrl::GetFirstSelectedItemPosition
POSITION GetFirstSelectedItemPosition( ) const;
//返回选中项目的位置
二、CListCtrl::GetNextSelectedItem
CListCtrl::GetNextSelectedItem
int GetNextSelectedItem( POSITION& pos ) const;
//返回选中项目的索引值 三、ShellExecute函数
HINSTANCE ShellExecute(
HWND hwnd, //指定父窗口句柄,此参数可为NULL
LPCTSTR lpOperation, //操作方式
LPCTSTR lpFile, //要打开的文件名,一般是全路径的如 c:\\1.txt
LPCTSTR lpParameters, //要带的参数
LPCTSTR lpDirectory,//默认运行目录
INT nShowCmd //显示方式
); 四、代码示例
void CDialog_ListCtrl_Test::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{ LPNMITEMACTIVATE pNMItemActivate = (LPNMITEMACTIVATE)(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
CListCtrl* plst_ctl=(CListCtrl*)GetDlgItem(IDC_LIST1);
POSITION pos=plst_ctl->GetFirstSelectedItemPosition();
if (pos)
{
int item=plst_ctl->GetNextSelectedItem(pos);
CString ws=plst_ctl->GetItemText(item,); //获取文件名
TRACE("%ws \n",ws);
CString filepath;
filepath=L"C:\\Windows\\";
ws=filepath+ws; //算出文件路径
ShellExecute(,L"open",ws,NULL,NULL,SW_SHOW); //打开文件 } *pResult = ;
}
//////////////////////////
void CDialog_ListCtrl_Test::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = (LPNMITEMACTIVATE)(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
//获取文件目录路径及文件
CListCtrl* plst_ctl=(CListCtrl*)GetDlgItem(IDC_LIST1);
//获取ListCtrl选中项的位置
POSITION pos=plst_ctl->GetFirstSelectedItemPosition();
if (pos)
{
int item_index=plst_ctl->GetNextSelectedItem(pos);
//获取选中图标的文件名
CString filename=plst_ctl->GetItemText(item_index,);
filename=FileDir+filename;
TRACE("%ws \n",filename);
ShellExecuteW(,NULL,filename,NULL,NULL,SW_SHOWNORMAL);
} *pResult = ;
}
MFC 用ShellExecute打开外部文件的更多相关文章
- 使用ShellExecute打开目标文件所在文件夹并选中目标文件
转载:http://blog.csdn.net/chenlycly/article/details/7366364 转载:http://bbs.csdn.net/topics/50440550 She ...
- Android应用打开外部文件
我们有时候遇到要打开一个文件,我们可以选择用其他应用打开,这时弹出来的应用列表,那么我们如何让自己开发的应用也能出现在里面呢? 第一步:设置启动Activity的intent-filter,给data ...
- ShellExecute打开文件,打开文件夹的用法
转自https://www.cnblogs.com/nxopen2018/p/11070031.html //方法1 //转换 //char msg[256]; //sprintf_s(msg, &q ...
- ShellExecute打开文件打开文件夹的用法
1 #include <uf.h> 2 #include <uf_part.h> 3 #include <atlstr.h> 4 #include <iost ...
- MFC 打开外部EXE文件的三种方法
目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了<vc中调用其他应用程序的方法(函数) winexec,shellexecute , ...
- WinAPI: ShellExecute - 打开外部程序或文件
WinAPI: ShellExecute - 打开外部程序或文件 ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; { ...
- Android打开外部DB文件
DB文件要放在Assets文件夹下,封装一个工具类,如下: package com.XX.DB; import java.io.File; import java.io.FileOutputStrea ...
- VS2012与VS2015同时安装用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No such file or directory”的解决办法
在WIndows 7操作系统上同时安装VS2012与VS2015并用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No ...
- MFC打开/保存文件对话框:CFileDialog
MFC打开/保存文件对话框:CFileDialog CFileDialog 文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDial ...
随机推荐
- RecyclerView打造通用的万能Adapter
既然想做到通用那么现在摆在面前的就三个问题:数据怎么办?布局怎么办? 绑定怎么办?.数据决定采用泛型,布局打算直接构造传递,绑定显示效果肯定就只能回传. 1 基本改造 数据决定采用泛型,布局打算直接构 ...
- jquery插件导出excel和pdf(解决中文乱码问题)
参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...
- 关于<asp:checkBoxList>控件的对齐方法
定义和用法 TextAlign 属性用于获取或设置 CheckBoxList 项目的文本的文本对齐方式. 语法 <asp:CheckBoxList TextAlign="align&q ...
- NGUI Clip Animation (UI动画)
效果预览 视频:http://pan.baidu.com/s/1ntr3XSt 运行环境 Unity 4.5, NGUI3.5, iTween 场景搭建 创建一个UIPanel,UIPanel下再创建 ...
- GridBagLayout布局管理器应用详解
http://www.cnblogs.com/kungfupanda/p/7220217.html GridBagLayout布局管理器应用详解 很多情况下,我们已经不需要通过编写代码来实现一个应用程 ...
- windows下,怎么轻易拷贝一个文件的完整路径?
1. 到目录下,复制文件 2. win+R ,打开"运行"输入框 3.ctrl+v
- ElasticStack系列之十八 & ElasticSearch5.x XPack 过期新 License 更新
摘要 当你某一天打开 Kibana 对应的 Monitoring 选项卡的时候,发现提示需要下载新的 license,旧的 license 已经过期了,试用期为30天,如果不是很需要其他的复杂监控.报 ...
- October 11th 2017 Week 41st Wednesday
If you don't know where you are going, you might not get there. 如果你不知道自己要去哪里,你可能永远到不了那里. The reward ...
- 第二次项目冲刺(Beta版本)2017/12/8
一.任务分布 二.燃尽图 三.站立式会议 1.照片(就要传了) 2.任务安排 四.总结 这次吸收了上次的教训,将任务进行更加详细的分布,分工更加明确,果然效率就高多了,哈哈哈.
- 极限编程核心价值:尊重(Respect)
原文:https://deviq.com/respect 极限编程核心价值:简单(Simplicity) 极限编程核心价值:沟通(Communication) 极限编程核心价值:反馈(Feedback ...