ShellExecute详解

原创 2011年01月19日 11:06:00

ShellExecute()功能: 运行一个外部程序,并对外部程序有一定的控制.

原型:

            HINSTANCE ShellExecute(    HWND hwnd,
                                                            LPCTSTR lpOperation,
                                                            LPCTSTR lpFile,
                                                            LPCTSTR lpParameters,
                                                            LPCTSTR lpDirectory,
                                                            INT nShowCmd
);

hwnd: 父窗口句柄;

lpOperation: 指定进行的操作,默认操作为open;

                   open:执行由lpFile指定的程序,或打开由lpFile指定的文件或文件夹

                   print: 打印由pFile指定的文件

                   explore: 浏览由pFile指定的文件夹

                   find: 从指定的目录开始搜索
lpFile: 指定需要执行指定操作的文件或文件夹

lpParameters: lpFile参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为NULL

lpDirectory: 指定默认目录

nShowCmd:lpFile参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为NULL

返回值: 执行成功则返回大于32的实例句柄,失败则返回小于32的值

实例:

1.打开一个应用程序:

ShellExecute(NULL,"open","D://myprocess.exe","","", SW_SHOW );

2.用系统程序打开一个相关的文档

ShellExecute(NULL,"open","notepad.exe","c://MyLog.log","",SW_SHOW );

3.打开一个网页

ShellExecute(NULL,"open","http://www.google.com","","", SW_SHOW );

4. 发送email

ShellExecute(NULL,"open","luckyangel887@qq.com","","", SW_SHOW );

5.用系统打印机打印文档

ShellExecute(NULL,"print","c://test.txt","","", SW_HIDE);

6.用系统查找功能来查找指定文件

ShellExecute(NULL,"find","d://master",NULL,NULL,SW_SHOW);

7.启动一个程序直到它运行完毕

SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = "c://MyTest.exe";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE); //等待句柄有信号

8.显示文件或文件夹的属性

SHELLEXECUTEINFO ShExecInfo ={0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_INVOKEIDLIST ;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = "properties";
ShExecInfo.lpFile = "c://Programer Files";

ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_SHOW;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);

9.运行一个批处理,把当前运行目录传送进去

ShellExecute(NULL,"open","d://master.cmd",NULL,"D://",SW_SHOW);

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

ShellExecute使用详解

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

delphi中ShellExecute使用详解

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ShellExecute使用详解(DELPHI版)

ShellExecute使用详解(DELPHI版) ━━━━━━━━━━━━━━━━━━━━━━━━━━ 有三个API函数可以运行可执行文件WinExec、ShellExecute和Creat...

ShellExecute使用详解

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

VC++ ShellExecute 执行、运行一个外部程序函数功能详解:

ShellExecute 函数功能:     ShellExecute 的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。 函数简...

shellexecute 详解

注意事项:使用该函数时,需添加该头文件: [1]#include   ShellExecute函数原型及参数含义如下:   ShellExecute(   hWnd: HWND; {指定父窗...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)