译者:徐景周(原作:Nishant S)

Q: 如何打开一个应用程序?

ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );

ShellExecute(this->m_hWnd,"open","notepad.exe","c:\\MyLog.log","",SW_SHOW );

正如您所看到的,我并没有传递程序的完整路径。
Q: 如何打开一个同系统程序相关连的文档?

ShellExecute(this->m_hWnd,"open","c:\\abc.txt","","",SW_SHOW );

Q: 如何打开一个网页?

ShellExecute(this->m_hWnd,"open","http://www.google.com","","", SW_SHOW );

Q: 如何激活相关程序,发送EMAIL?

ShellExecute(this->m_hWnd,"open","mailto:nishinapp@yahoo.com","","", SW_SHOW );

Q: 如何用系统打印机打印文档?

ShellExecute(this->m_hWnd,"print","c:\\abc.txt","","", SW_HIDE);

Q: 如何用系统查找功能来查找指定文件?

ShellExecute(m_hWnd,"find","d:\\nish",NULL,NULL,SW_SHOW);

Q: 如何启动一个程序,直到它运行结束?

SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "c:\\MyProgram.exe";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);

或:

PROCESS_INFORMATION ProcessInfo;
STARTUPINFO StartupInfo; //This is an [in] parameter
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof StartupInfo ; //Only compulsory field
if(CreateProcess("c:\\winnt\\notepad.exe", NULL, NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
{ WaitForSingleObject(ProcessInfo.hProcess,INFINITE);CloseHandle(ProcessInfo.hThread);CloseHandle(ProcessInfo.hProcess);
}
else
{MessageBox("The process could not be started...");
}

Q: 如何显示文件或文件夹的属性?

SHELLEXECUTEINFO ShExecInfo ={0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_INVOKEIDLIST ;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = "properties";
ShExecInfo.lpFile = "c:\\"; //can be a file as well
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);

深入浅出ShellExecute相关推荐

  1. 深入浅出ShellExecute(总结)

    有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess.  1.CreateProcess因为使用复杂,比较少用.  2.WinExec主要运行EXE文 ...

  2. API函数ShellExecute与ShellExecuteEx用法

    ShellExecute: 1.函数功能: 你可以给它任何文件的名字,它都能识别出来并打开它. 2.函数原型: HINSTANCE ShellExecute( HWND hwnd, LPCTSTR l ...

  3. WinExec、ShellExecute和CreateProcess

    有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess.CreateProcess因为使用复杂,比较少用. WinExec主要运行EXE文件. ⑴ 函数 ...

  4. 在VC下执行DOS命令(VC执行EXE)

    A. system("md c://12"); 1) 调用命令时会出现一个dos 窗口一闪而过,影响视觉效果. 2 )无法将命令的执行结果反馈给用户. B. WinExec(&qu ...

  5. VC++ 常用编程技巧总结

    VC++6.0的使用以及编程技巧整理 1.MDI子窗口一启动就最大化      BOOL   CChildFrame::PreCreateWindow(CREATESTRUCT&   cs) ...

  6. C++小知识——VS2013 MFC基于对话框编程

    转载自:https://blog.csdn.net/wokaowokaowokao12345/article/details/53173966 前言 一直利用Qt库做Ui设计,但针对于一些MFC项目, ...

  7. Python --深入浅出Apriori关联分析算法(二) Apriori关联规则实战

    上一篇我们讲了关联分析的几个概念,支持度,置信度,提升度.以及如何利用Apriori算法高效地根据物品的支持度找出所有物品的频繁项集. Python --深入浅出Apriori关联分析算法(一) 这次 ...

  8. MSDN Webcast“深入浅出ASP.NET AJAX系列”

    课程: ASP.NET AJAX深入浅出系列课程(1):ASP.NET AJAX 概述(3月13日):对于ASP.NET AJAX的大致功能进行概述和演示,通过简单的演示让听众了解到ASP.NET A ...

  9. 5.3Role和Claims授权「深入浅出ASP.NET Core系列」

    5.3Role和Claims授权「深入浅出ASP.NET Core系列」 原文:5.3Role和Claims授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁. ...

最新文章

  1. python库下载安装网址
  2. Caffe中的损失函数解析
  3. 常考数据结构与算法:括号序列
  4. nginx 上传文件漏洞_nginx解析漏洞复现
  5. MachineLearning Exercise 7 : K-means Clustering and Principle Component Analysis
  6. TCP Server 实现 RPN计算器(Python)
  7. Linux电源管理-wakeup events framework
  8. git里面的文件怎么删不掉_.git目录删不掉
  9. 英特尔nuc做网站服务器,难以想象 英特尔把至强处理器塞进了NUC
  10. 合天网安实验室CTF-解密200-找茬游戏
  11. 可用NVI模式替换virtual函数继承方式
  12. 【因缘际会】知乎APP的简单的产品体验报告
  13. Tomcat应用部署
  14. pytorch深度学习出错整理(一)
  15. android 原子文件,Android原子操作
  16. 17届智能车-电磁组比赛心得一
  17. android 开发的步骤
  18. 微信公众平台开发(1)验证TOKEN源码
  19. 人脸检测与美颜技术介绍(OpenCV)
  20. 自我介绍 的html页面,html初学者自我介绍网页

热门文章

  1. Flask框架-基本使用
  2. electron版本的串口调度助手
  3. 浅谈TCP的窗口字段
  4. 【闲聊产品】之五:谁来背黑锅?
  5. Squid access.log 转发到其他syslog服务器(OSSIM)
  6. 网页中添加QQ,msn留言按钮
  7. Node - 异步IO和事件循环
  8. Chisel3 - Tutorial - VendingMachine
  9. Spring 4.2.2以上版本和swagger集成方案和踩过的坑
  10. SQL Server 2008还原数据库时出现“备份集中的数据库备份与现有的数据库不同”的解决方法...