ShellExecute详细用法

avatar
作者
筋斗云
阅读量:3

ShellExecute是一个Windows API函数,用于打开外部应用程序、打开URL链接或者执行系统命令。

ShellExecute的函数原型如下:

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

参数说明:

  • hwnd:指定父窗口的句柄,如果不需要指定父窗口,可以传入NULL。
  • lpOperation:指定操作类型,可以是"open"、“print”、"explore"等等。如果不需要指定操作类型,可以传入NULL。
  • lpFile:指定要打开的文件名、URL链接或者系统命令。
  • lpParameters:指定要传递给打开文件的参数,如命令行参数。如果没有参数,可以传入NULL。
  • lpDirectory:指定要打开文件的目录。如果不需要指定目录,可以传入NULL。
  • nShowCmd:指定打开文件时的显示方式,如最大化、最小化等。常见取值有SW_SHOW、SW_HIDE等。

返回值:

  • 如果函数执行成功,返回大于32的HINSTANCE句柄。如果函数执行失败,返回值取决于错误的原因。

使用ShellExecute打开外部应用程序的示例代码:

#include <Windows.h> #include <ShellAPI.h>  int main() {     ShellExecute(NULL, _T("open"), _T("C:\\Windows\\notepad.exe"), NULL, NULL, SW_SHOW);     return 0; } 

使用ShellExecute打开URL链接的示例代码:

#include <Windows.h> #include <ShellAPI.h>  int main() {     ShellExecute(NULL, _T("open"), _T("http://www.example.com"), NULL, NULL, SW_SHOW);     return 0; } 

使用ShellExecute执行系统命令的示例代码:

#include <Windows.h> #include <ShellAPI.h>  int main() {     ShellExecute(NULL, _T("open"), _T("cmd.exe"), _T("/c echo Hello World"), NULL, SW_SHOW);     return 0; } 

需要注意的是,ShellExecute函数是一个异步操作的函数,函数调用会立即返回而不等待应用程序执行完毕。如果需要等待应用程序执行完毕再进行其他操作,可以使用ShellExecuteEx函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!