发布时间:2025-12-11 02:18:11 浏览次数:1
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函数。