ShellExecute用法 以及静态文本超链接

简介: 打开一个文件 :ShellExecute(NULL, NULL, "c://mfc类库详解.chm", NULL, NULL, SW_SHOWNORMAL); 打开一个文件夹: ShellExecute(NULL, NULL, "c://", NULL, NULL, SW_SHOWNORMAL);...

打开一个文件 :ShellExecute(NULL, NULL, "c://mfc类库详解.chm", NULL, NULL, SW_SHOWNORMAL);

打开一个文件夹: ShellExecute(NULL, NULL, "c://", NULL, NULL, SW_SHOWNORMAL);

在资源管理器中打开: ShellExecute(NULL, "explore", "c://", NULL, NULL, SW_SHOWNORMAL);

搜索一个文件夹 : ShellExecute(NULL, "find", "c://", NULL, NULL, SW_SHOWNORMAL);

点击发邮件 :    ShellExecute(0, NULL, "mailto:koma0769@vip.qq.com", NULL,NULL, SW_NORMAL);

QQ某人:     ShellExecute(NULL,"open","tencent://Message/?Uin=345022596" ,NULL,NULL,NULL);

打开一个网址 :

 

 WinExec("C://Program Files//Internet Explorer//IEXPLORE.exe   http://www.baidu.com/", SW_SHOW);

 ShellExecute(0, "open", "http://www.baidu.com", NULL,NULL, SW_NORMAL);

 

 winexec          针对   可执行文件     shellexecute   针对   windows中的所有文件   他会找到windows登记了的对应程序打开对应文件

 

1、添加成员变量m_RectLink,用来保存文本框的坐标,添加两个静态文本控件,将默认ID改掉

  1. class CSampleDlg : public CDialog   
  2. {   
  3. // Construction   
  4. public:   
  5.      CSampleDlg(CWnd* pParent = NULL);   // standard constructor   
  6.   
  7.     // Implementation   
  8. protected:   
  9.     HICON m_hIcon;   
  10.        
  11.     //用于保存静态文本框的屏幕坐标   
  12.      RECT m_pRectLink;     
  13.      ......   
  14. }  
  15. BOOL CSampleDlg::OnInitDialog()   
  16. {   
  17.      CDialog::OnInitDialog();   
  18.   
  19.     // Add "About..." menu item to system menu.   
  20.   
  21.     // IDM_ABOUTBOX must be in the system command range.   
  22.      ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);   
  23.      ASSERT(IDM_ABOUTBOX < 0xF000);   
  24.   
  25.      CMenu* pSysMenu = GetSystemMenu(FALSE);   
  26.     if (pSysMenu != NULL)   
  27.      {   
  28.          CString strAboutMenu;   
  29.          strAboutMenu.LoadString(IDS_ABOUTBOX);   
  30.         if (!strAboutMenu.IsEmpty())   
  31.          {   
  32.              pSysMenu->AppendMenu(MF_SEPARATOR);   
  33.              pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);   
  34.          }   
  35.      }   
  36.   
  37.     // TODO: Add extra initialization here   
  38.   
  39.     //将静态文本的屏幕坐标存放在m_pRectLink中   
  40.      GetDlgItem(IDC_LINK) -> GetWindowRect(&m_pRectLink);   
  41.     //将屏幕坐标转换为客户坐标   
  42.      ScreenToClient(&m_pRectLink);   
  43.   
  44.     return TRUE;  // return TRUE   unless you set the focus to a control   
  45. }  

3、添加Windows消息WM_MOUSEMOVE和消息处理函数,代码如下:

  1. void CSampleDlg::OnMouseMove(UINT nFlags, CPoint point)   
  2. {   
  3.     // TODO: Add your message handler code here and/or call default   
  4.     //下面设置鼠标在静态文本区时,将光标设成小手状   
  5.     if (point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom )   
  6.     //此处添加判断坐标算法   
  7.      {   
  8.         HCURSOR hCursor;   
  9.          hCursor = AfxGetApp() -> LoadCursor(IDC_HAND);   
  10.   
  11.         //将鼠标设为小手状      并没有成功 原因待解
  12.          SetCursor(hCursor);   
  13.      }   
  14.      CDialog::OnMouseMove(nFlags, point);   
  15. }  

4、添加Windows消息WM_LBUTTONDOWN  和消息处理函数,代码如下:

 

  1. void CSampleDlg::OnLButtonDown(UINT nFlags, CPoint point)   
  2. {   
  3.     // TODO: Add your message handler code here and/or call default   
  4.     //此处添加判断坐标算法   
  5.     if (point.x > m_pRectLink.left && point.x < m_pRectLink.right && point.y > m_pRectLink.top && point.y < m_pRectLink.bottom)   
  6.      {   
  7.         //鼠标左键按下   
  8.         if (nFlags == MK_LBUTTON)      
  9.          {   
  10.             //为改善鼠标效果,此处加入以上变换鼠标形状的代码   
  11.              ShellExecute(0, NULL, "http://hi.baidu.com/wangguang246", NULL,NULL, SW_NORMAL);   
  12.                
  13.             //也可以添加电子邮件的链接   
  14.              ShellExecute(0, NULL, "mailto:koma0769@vip.qq.com", NULL,NULL, SW_NORMAL);   
  15.          }   
  16.      }   
  17.        
  18.      CDialog::OnLButtonDown(nFlags, point);   
  19. }  
目录
相关文章
|
4月前
|
前端开发
HTML图片音频视频标签、超链接标签、列表标签和布局标签示例
HTML图片音频视频标签、超链接标签、列表标签和布局标签示例
45 0
|
2月前
|
前端开发
【零基础入门前端系列】—超链接和文本格式化标签(四)
【零基础入门前端系列】—超链接和文本格式化标签(四)
|
5月前
|
JavaScript
js提取富文本文字字符串内容
js提取富文本文字字符串内容
|
9月前
|
移动开发 人工智能 前端开发
HTML5 常用 标签 锚 列表 用法
HTML5 常用 标签 锚 列表 用法
|
XML 编解码 API
什么是 SVG?本项目简单分享动画入门的相关知识,并附有相关代码演示,同时文档对SVG等相关内容有比较详细的叙述,如vector标签中属性所代表的意义解释、path标签所支持的指令解释等等。
什么是 SVG?本项目简单分享动画入门的相关知识,并附有相关代码演示,同时文档对SVG等相关内容有比较详细的叙述,如vector标签中属性所代表的意义解释、path标签所支持的指令解释等等。
81 0
什么是 SVG?本项目简单分享动画入门的相关知识,并附有相关代码演示,同时文档对SVG等相关内容有比较详细的叙述,如vector标签中属性所代表的意义解释、path标签所支持的指令解释等等。
|
Java
JAVA Web入门之HTML中表格、表单、下列列表框、多行文本、超链接和图片标记的应用(超详细,附源码)
JAVA Web入门之HTML中表格、表单、下列列表框、多行文本、超链接和图片标记的应用(超详细,附源码)
210 0
JAVA Web入门之HTML中表格、表单、下列列表框、多行文本、超链接和图片标记的应用(超详细,附源码)
超链接的基本用法
通过以下的讲解可以清晰地了解超链接的基本用法。
65 0
超链接的基本用法
|
Web App开发 缓存 网络协议
网页页面下各种标签的含义
1、charset: 2、X-UA-Compatible: 3、canonical : 4、dns-prefetch: 5、keywords 6、viewport 7、description
136 0
标签之美三——超链接的嵌入
标签之美三——超链接的嵌入
122 0
|
前端开发
从富文本编辑器输入内容,然后前端通过接口获取到的这些内容会自带很多html标签
var content; var s = ""; if(str.length == 0) return ""; s = datas[i].
1898 0