zoukankan      html  css  js  c++  java
  • ShellExecuteEx 函数说明

    定义:可以使用 ShellExecuteEx 打开文件或执行程序
    具体的使用教程可以参考:https://www.cctry.com/thread-298120-1-1.html
    他的博客写的也很清楚:https://www.cnblogs.com/blogpro/p/11343975.html
    我的写的内容不全,刚开始学习,知识暂作笔记而已,后面会修改完善。


    使用之前必须导入:#include <shellapi.h>头文件

     BOOL ShellExecuteEx(
          _Inout_ SHELLEXECUTEINFO *pExecInfo
        );
    

    eg::

    SHELLEXECUTEINFO sei;//定义一个 ShellExecuteEx 对象sei
    	ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));//使用之前最好清零。
    	sei.cbSize=sizeof(SHELLEXECUTEINFO);
    	sei.lpFile=_T("cmd.exe");//执行文件的路径
    	sei.lpVerb= _T("runas");//执行的动作。
    	sei.nShow=SW_SHOW;
    	ShellExecuteEx(&sei);//执行
    
    

    lpVerb 参数与 ShellExecute 的 lpOperation 参数一致:
    edit 用编辑器打开 lpFile 指定的文档,如果 lpFile 不是文档,则会失败
    explore 浏览 lpFile 指定的文件夹
    find 搜索 lpDirectory 指定的目录
    open 打开 lpFile 文件,lpFile 可以是文件或文件夹
    print 打印 lpFile,如果 lpFile 不是文档,则函数失败
    properties 显示属性
    runas 请求以管理员权限运行,比如以管理员权限运行某个exe
    NULL 执行默认”open”动作


    nShow 与 ShellExecute 的该参数一致:
    ● SW_HIDE 隐藏窗口,活动状态给令一个窗口
    ● SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
    ● SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
    ● SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
    ● SW_SHOWMAXIMIZED 最大化窗口,并将其激活
    ● SW_SHOWMINIMIZED 最小化窗口,并将其激活
    ● SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
    ● SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
    ● SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
    ● SW_SHOWNORMAL 与SW_RESTORE相同


    返回值:
    函数执行成功,返回 TRUE ,否则返回 FALSE ,可使用 GetLastError 获取错误码。

    ● ERROR_FILE_NOT_FOUND 文件不存在
    ● ERROR_PATH_NOT_FOUND 路径不存在
    ● ERROR_DDE_FAIL DDE(动态数据交换)失败
    ● ERROR_NO_ASSOCIATION 未找到与指定文件拓展名关联的应用
    ● ERROR_ACCESS_DENIED 拒绝访问
    ● ERROR_DLL_NOT_FOUND 未找到dll
    ● ERROR_CANCELLED 功能提示用户提供额外信息,但是用户取消请求。
    ● ERROR_NOT_ENOUGH_MEMORY 内存不足
    ● ERROR_SHARING_VIOLATION 发生共享冲突


    lpFile:
    用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名
    mailto:nishinapp@yahoo.com可以用来打开系统邮件给某人发邮件
    mailto:nishinapp@yahoo.com 打开某个网页。

  • 相关阅读:
    Daemon Tools 4.x 或"SPTD.SYS"导致Windows不能启动的问题的解决方案
    Oracle for Windows 相关下载地址
    Winsock编程入门 4.面向连接的通讯
    MD5 Hashing in Java,Written by dimport
    登记照的尺寸
    使用FileUpload组件上传文件
    两台winXP电脑不能互相访问共享文件夹故障的最终解决方法
    常用序列号
    万事皆有因
    利用注册表检测IIS是否安装
  • 原文地址:https://www.cnblogs.com/lixianhu1998/p/12194101.html
Copyright © 2011-2022 走看看