SHELLEXECUTEINFO

【勇芳软件工作室】汉化HomePreviousNext

指定一个枚举类型,定义与IShellFolder::EnumObjects方法一起使用的标志。

SHELLEXECUTEINFO结构包含ShellExecuteEx功能使用的信息。

typedef struct _SHELLEXECUTEINFO { 是//

DWORD cbSize;

ULONG fMask;

HWND hwnd;

LPCSTR lpVerb;

LPCSTR lpFile;

LPCSTR lpParameters;

LPCSTR lpDirectory;

int nShow;

HINSTANCE hInstApp;

//可选成员

LPVOID lpIDList;

LPCSTR lpClass;

HKEY hkeyClass;

DWORD dwHotKey;

HANDLE hIcon;

HANDLE hProcess;

} SHELLEXECUTEINFO, FAR *LPSHELLEXECUTEINFO;

会员

CBSIZE

指定结构的大小(以字节为单位)。

fMask

这是一组标志,表示其他结构成员的内容和有效性。您可以指定以下值的组合:

含义
SEE_MASK_CLASSKEY使用hkeyClass成员给出的类密钥。
SEE_MASK_CLASSNAME使用lpClass成员给出的类名。
SEE_MASK_CONNECTNETDRVlpFile成员是网络上文件的通用命名约定(UNC)路径。验证共享并连接到驱动器号。
SEE_MASK_DOENVSUBST展开由lpDirectorylpFile成员给出的字符串中指定的任何环境变量。
SEE_MASK_FLAG_DDEWAIT如果ShellExecuteEx功能导致启动DDE对话,请等待DDE会话终止,然后再返回。
SEE_MASK_FLAG_NO_UI如果发生错误,请不要显示错误消息框。
SEE_MASK_HOTKEY使用dwHotKey成员给出的热键。
SEE_MASK_ICON使用惠康成员给出的图标。
SEE_MASK_IDLIST使用lpIDList成员给出的项目标识符列表。
SEE_MASK_INVOKEIDLIST使用lpIDList成员给出的项目标识符列表来调用应用程序。如果此成员为NULL,该函数将创建一个项目标识符列表并调用该应用程序。SEE_MASK_INVOKEIDLIST覆盖SEE_MASK_IDLIST。
SEE_MASK_NOCLOSEPROCESSShellExecuteEx函数退出后,请保持该进程运行。hProcess成员收到进程的句柄。

HWND

处理系统在执行此函数时可能产生的任何消息框的父窗口(例如,用于错误报告)。

lpVerb

指向指定动词名称的字符串的指针。该动词指定应用程序执行的操作。如果没有指定动词,则该成员默认为“打开”。

lpFile

指向指定要打开或打印的文件名称的以null结尾的字符串列表的指针。该函数可以打开可执行文件或文档文件。该函数可以打印文档文件。如果路径未包含在名称中,则假定当前目录。

lpParameters

指向包含应用程序参数的以null结尾的字符串。参数必须用空格分隔。要包含双引号,您必须将标记括在双引号中,如以下示例所示:

sei.lpParameters = "An example: \"\"\"quoted text\"\"\"";

在这种情况下,应用程序接收三个参数:An,example :,和“quoted text”。

如果lpFile指定文档文件,则lpParameters应为NULL。

lpDirectory

指向指定工作目录名称的以空值终止的字符串的指针。如果未指定此成员,则将当前目录用作工作目录。

n显示

显示标志可以是为ShowWindow功能描述的SW_值之一。如果lpFile指定可执行文件,n显示指定应用程序打开时的显示方式。如果lpFile指定文档文件,则n显示应为零。

hInstApp

处理已启动的应用程序的实例,如果应用程序无法启动,则处理错误值。(此句柄也可以是动态数据交换[DDE]服务器应用程序的句柄。)此成员设置为返回。错误值可以是以下之一:

含义
SE_ERR_FNF文件未找到
SE_ERR_PNF路径未找到
SE_ERR_ACCESSDENIED拒绝访问
SE_ERR_OOM内存不足
SE_ERR_DLLNOTFOUND未找到动态链接库
SE_ERR_SHARE无法共享打开的文件
SE_ERR_ASSOCINCOMPLETE文件关联信息不完整
SE_ERR_DDETIMEOUTDDE操作超时
SE_ERR_DDEFAILDDE操作失败
SE_ERR_DDEBUSYDDE操作忙
SE_ERR_NOASSOC文件关联不可用

lpIDList

指向ITEMIDLIST结构的指针,其中包含唯一标识要执行的文件的项目标识符列表。如果fMask未设置为SEE_MASK_IDLIST,则会被忽略。

lpClass

指向指定文件类名称或全局唯一标识符(GUID)的以空值终止的字符串的指针。如果fMask未设置为SEE_MASK_CLASSNAME,则会被忽略。

hkeyClass

处理文件类的注册表项。fMask未设置为SEE_MASK_CLASSKEY时被忽略。

dwHotKey

与应用程序关联的热键。低位字是虚拟键代码,高位字是修饰符标志(HOTKEYF_)。有关修饰符标志的列表,请参阅WM_SETHOTKEY消息的说明。如果fMask未设置为SEE_MASK_HOTKEY,则会被忽略。

惠康

处理文件类的图标。如果fMask未设置为SEE_MASK_ICON,则会被忽略。

hProcess

处理新开始的应用程序。该成员设置为返回,如果fMask未设置为SEE_MASK_NOCLOSEPROCESS,则始终为NULL。

也可以看看

ITEMIDLIST, ShellExecuteEx, ShowWindow, WM_SETHOTKEY