深入浅出ShellExecute
译者:徐景周(原作: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相关推荐
- 深入浅出ShellExecute(总结)
有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess. 1.CreateProcess因为使用复杂,比较少用. 2.WinExec主要运行EXE文 ...
- API函数ShellExecute与ShellExecuteEx用法
ShellExecute: 1.函数功能: 你可以给它任何文件的名字,它都能识别出来并打开它. 2.函数原型: HINSTANCE ShellExecute( HWND hwnd, LPCTSTR l ...
- WinExec、ShellExecute和CreateProcess
有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess.CreateProcess因为使用复杂,比较少用. WinExec主要运行EXE文件. ⑴ 函数 ...
- 在VC下执行DOS命令(VC执行EXE)
A. system("md c://12"); 1) 调用命令时会出现一个dos 窗口一闪而过,影响视觉效果. 2 )无法将命令的执行结果反馈给用户. B. WinExec(&qu ...
- VC++ 常用编程技巧总结
VC++6.0的使用以及编程技巧整理 1.MDI子窗口一启动就最大化 BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) ...
- C++小知识——VS2013 MFC基于对话框编程
转载自:https://blog.csdn.net/wokaowokaowokao12345/article/details/53173966 前言 一直利用Qt库做Ui设计,但针对于一些MFC项目, ...
- Python --深入浅出Apriori关联分析算法(二) Apriori关联规则实战
上一篇我们讲了关联分析的几个概念,支持度,置信度,提升度.以及如何利用Apriori算法高效地根据物品的支持度找出所有物品的频繁项集. Python --深入浅出Apriori关联分析算法(一) 这次 ...
- MSDN Webcast“深入浅出ASP.NET AJAX系列”
课程: ASP.NET AJAX深入浅出系列课程(1):ASP.NET AJAX 概述(3月13日):对于ASP.NET AJAX的大致功能进行概述和演示,通过简单的演示让听众了解到ASP.NET A ...
- 5.3Role和Claims授权「深入浅出ASP.NET Core系列」
5.3Role和Claims授权「深入浅出ASP.NET Core系列」 原文:5.3Role和Claims授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁. ...
最新文章
- python库下载安装网址
- Caffe中的损失函数解析
- 常考数据结构与算法:括号序列
- nginx 上传文件漏洞_nginx解析漏洞复现
- MachineLearning Exercise 7 : K-means Clustering and Principle Component Analysis
- TCP Server 实现 RPN计算器(Python)
- Linux电源管理-wakeup events framework
- git里面的文件怎么删不掉_.git目录删不掉
- 英特尔nuc做网站服务器,难以想象 英特尔把至强处理器塞进了NUC
- 合天网安实验室CTF-解密200-找茬游戏
- 可用NVI模式替换virtual函数继承方式
- 【因缘际会】知乎APP的简单的产品体验报告
- Tomcat应用部署
- pytorch深度学习出错整理(一)
- android 原子文件,Android原子操作
- 17届智能车-电磁组比赛心得一
- android 开发的步骤
- 微信公众平台开发(1)验证TOKEN源码
- 人脸检测与美颜技术介绍(OpenCV)
- 自我介绍 的html页面,html初学者自我介绍网页
热门文章
- Flask框架-基本使用
- electron版本的串口调度助手
- 浅谈TCP的窗口字段
- 【闲聊产品】之五:谁来背黑锅?
- Squid access.log 转发到其他syslog服务器(OSSIM)
- 网页中添加QQ,msn留言按钮
- Node - 异步IO和事件循环
- Chisel3 - Tutorial - VendingMachine
- Spring 4.2.2以上版本和swagger集成方案和踩过的坑
- SQL Server 2008还原数据库时出现“备份集中的数据库备份与现有的数据库不同”的解决方法...