ShellExecuteEx函数的作用
Posted 道亦无名
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ShellExecuteEx函数的作用相关的知识,希望对你有一定的参考价值。
函数如下:
WINSHELLAPI BOOL WINAPI ShellExecuteEx(
LPSHELLEXECUTEINFO lpExecInfo
);
参数:lpExecInfo
指向 SHELLEXECUTEINFO 结构的长指针,该结构包含和接收有关正在执行的应用程序的信息。
结构体的内部成员如下:
typedef struct _SHELLEXECUTEINFOW
DWORD cbSize; // in, required, sizeof of this structure
ULONG fMask; // in, SEE_MASK_XXX values
HWND hwnd; // in, optional
LPCWSTR lpVerb; // in, optional when unspecified the default verb is choosen
LPCWSTR lpFile; // in, either this value or lpIDList must be specified
LPCWSTR lpParameters; // in, optional
LPCWSTR lpDirectory; // in, optional
int nShow; // in, required
HINSTANCE hInstApp; // out when SEE_MASK_NOCLOSEPROCESS is specified
void *lpIDList; // in, valid when SEE_MASK_IDLIST is specified, PCIDLIST_ABSOLUTE, for use with SEE_MASK_IDLIST & SEE_MASK_INVOKEIDLIST
LPCWSTR lpClass; // in, valid when SEE_MASK_CLASSNAME is specified
HKEY hkeyClass; // in, valid when SEE_MASK_CLASSKEY is specified
DWORD dwHotKey; // in, valid when SEE_MASK_HOTKEY is specified
union
HANDLE hIcon; // not used
#if (NTDDI_VERSION >= NTDDI_WIN2K)
HANDLE hMonitor; // in, valid when SEE_MASK_HMONITOR specified
#endif // (NTDDI_VERSION >= NTDDI_WIN2K)
DUMMYUNIONNAME;
HANDLE hProcess; // out, valid when SEE_MASK_NOCLOSEPROCESS specified
SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
我这边做了一个历程可以参考一下,代码如下:
#include <stdio.h>
#include <WINDOWS.H>
#include <tchar.h>
#include "shellapi.h"
#pragma comment(lib,"shell32.lib")
int main()
SHELLEXECUTEINFO ShellInfo;
memset(&ShellInfo, 0, sizeof(ShellInfo));
ShellInfo.cbSize = sizeof(ShellInfo);
ShellInfo.lpVerb = _T("open");
ShellInfo.lpFile = _T("https://blog.csdn.net/u011046042");
ShellInfo.nShow = SW_SHOWNORMAL;
ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShellExecuteEx(&ShellInfo);
WaitForSingleObject(ShellInfo.hProcess, INFINITE);
编译运行如下:
最后可以打开对应的网页。
以上是关于ShellExecuteEx函数的作用的主要内容,如果未能解决你的问题,请参考以下文章
用ShellExecuteEx函数执行一个vc写的exe,vc程序的返回函数是return(n)
VC++分别使用WinExecCreateProcessShellExecute和ShellExecuteEx来启动程序(附源码)