SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
sei.cbSize = sizeof(SHELLEXECUTEINFO);
sei.lpFile = __TEXT("explorer.exe");
sei.nShow = SW_SHOW;
sei.lpVerb = __TEXT("open");
ShellExecuteEx(&sei);
ShellExecute()中对应参数的成员之一是fMask。它可以是一个或多个下面的组合:
标志 描述
SEE_MASK_CLASSKEY 应该使用 hkeyClass 成员
SEE_MASK_CLASSNAME 应该使用 lpClass 成员
SEE_MASK_CONNECTNETDRV lpFile将被解释成UNC(通用命名习惯)式的文件名
SEE_MASK_DOENVSUBST 任何在lpDirectory和lpFile成员中的环境变量都将被展开,例如,%WINDIR% 打开Windows文件夹
SEE_MASK_FLAG_DDEWAIT 如果函数启动DDE会话,在返回之前等待它终止。
SEE_MASK_FLAG_NO_UI 在错误情况下不显示消息框
SEE_MASK_HOTKEY 应该使用 dwHotkey 成员
SEE_MASK_ICON 应该使用 hIcon 成员
SEE_MASK_IDLIST 强制函数使用lpIDList内容代替lpFile
SEE_MASK_INVOKEIDLIST 引起函数使用lpIDList中指定的PIDL。如果这个成员为NULL,则建立一个lpFile的PIDL,并使用这个PIDL。这个标志重载了SEE_MASK_IDLIST
SEE_MASK_NOCLOSEPROCESS 用进程Handle设置hProcess成员。lpIDList成员可以包含一个用于代替lpFile的PIDL。hProcess返回导出的HPROCESS类型的新进程handle
附加的特征
可选字段适用于某些超出ShellExecute()的附加功能。第一点,也是最重要的一点,可以使用PIDLs来运行应用和打开文件夹。下面是打开‘打印机’文件夹的代码:
LPITEMIDLIST pidl;
SHGetSpecialFolderLocation(NULL, CSIDL_PRINTERS, &pidl);
SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
sei.cbSize = sizeof(SHELLEXECUTEINFO);
sei.nShow = SW_SHOW;
sei.lpIDList = pidl;
sei.fMask = SEE_MASK_INVOKEIDLIST;
sei.lpVerb = __TEXT("open");
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23692-4.html
没事多看看军情之类的节目
要的不就是不断的在变化吗