SHELLEXECUTEINFO 和 ShellExecuteEx 的使用
在日常工作中用到的一些知识,很久没有总结过,前几日参加一个会议,很是无聊。自己思索
着自己这两年来所做过的东西,写着写着居然也写下了 100 个知识点。想把它一条一条总结下来,
动笔总不是很容易。就拿这篇文章作为第一篇。
很多东西取之于网络,也有一些自己的心得。才疏学浅,就当一个知识梳理的过程吧。
第一篇 SHELLEXECUTEINFO和 ShellExecuteEx 的使用
使用 SHELLEXECUTEINFO 和 ShellExecuteEx,我也主要是在 cab 包的安装时使用的。
基本上是这样使用的,如下:
SHELLEXECUTEINFOShellInfo;
memset(&ShellInfo, 0,sizeof(ShellInfo));
ShellInfo.cbSize=sizeof(ShellInfo);
ShellInfo.hwnd=NULL;
ShellInfo.lpVerb=_T("open");
ShellInfo.lpFile=szFilePath;
ShellInfo.nShow=SW_SHOWNORMAL;
ShellInfo.fMask=SEE_MASK_NOCLOSEPROCESS;
BOOLbResult=ShellExecuteEx(&ShellInfo);
一、SHELLEXECUTEINFO结构
在 MSDN 中,它这样定义:
Contains information used byShellExecuteEx
原型如下:
typedef struct _SHELLEXECUTEINFO{
DWORDcbSize;
ULONGfMask;
HWNDhwnd;
LPCTSTRlpVerb;
LPCTSTRlpFile;
LPCTSTRlpParameters;
LPCTSTRlpDirectory;
intnShow;
HINSTANCEhInstApp;
LPVOIDlpIDList;
LPCTSTRlpClass;
HKEYhkeyClass;
DWORDdwHotKey;