22打开文档ShellExcute

四个按钮:打开文本文件IDC_BTN_TXT 打开图片IDC_BTN_BMP 打开网址IDC_BTN_URL 打开电子邮件编辑器IDC_BTN_MAIL

为四个按钮添加事件响应函数:

void CShellOpenDlg::OnBnClickedBtnTxt()
{
	// TODO: 在此添加控件通知处理程序代码
	//打开文本文件
	CFileDialog dlg(TRUE, NULL, NULL, 
		0, _T("*.txt|*.txt||"), this);
	if(dlg.DoModal() == IDOK)
		OpenTheFile(dlg.GetPathName());
}


void CShellOpenDlg::OnBnClickedBtnBmp()
{
	// TODO: 在此添加控件通知处理程序代码
	//打开图片文件
	CFileDialog dlg(TRUE, NULL, NULL, 
		0, _T("*.bmp|*.bmp|*.jpg|*.jpg||"), this);
	if(dlg.DoModal() == IDOK)
		OpenTheFile(dlg.GetPathName());
}


void CShellOpenDlg::OnBnClickedBtnUrl()
{
	// TODO: 在此添加控件通知处理程序代码
	//打开网址
	CInputDlg dlg(this, _T("输入"), _T("请输入一个网址:"), 
		_T("http://www.GOOGLE.com"));
	if(dlg.DoModal() == IDOK)
	{
		OpenTheFile(dlg.GetInputText());
	}
}

//需要系统中有outlook等软件
void CShellOpenDlg::OnBnClickedBtnMail()
{
	// TODO: 在此添加控件通知处理程序代码
	//打开邮件编辑器
	CInputDlg dlg(this, _T("输入"), _T("请输入一个邮件地址:"), 
		_T("WanMeiTech@163.com"));
	if(dlg.DoModal() == IDOK)
	{
		CString str;
		str.Format(
			_T("mailto:%s?subject=测试邮件&body=测试ShellOpen程序。"), 
			dlg.GetInputText());
		OpenTheFile(str);
	}
}

添加函数:

protected:
	void OpenTheFile(LPCTSTR lpFilename);

void CShellOpenDlg::OpenTheFile(LPCTSTR lpFilename)
{
	//利用系统命令打开文档
	ShellExecute(m_hWnd, _T("open"), lpFilename, 
		NULL, NULL, SW_SHOWNORMAL);
}

要将之前的CInputDlg类添加到项目里


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值