• ShellExecute


    ShellExecute

    Performs an operation on a specified file.

    HINSTANCE ShellExecute(

        HWND hwnd, 

        LPCTSTR lpVerb,

        LPCTSTR lpFile, 

        LPCTSTR lpParameters, 

        LPCTSTR lpDirectory,

        INT nShowCmd

    );

            

    ID

    lpVerb

    Description

    1. 

    edit

    Launches an editor and opens the document for editing. If lpFile is not a document file, the function will fail.

    2. 

    explore

    Explores the folder specified by lpFile.

    3. 

    find

    Initiates a search starting from the specified directory.

    4. 

    open

    Opens the file specified by the lpFile parameter. The file can be an executable file, a document file, or a folder.

    5. 

    print

    Prints the document file specified by lpFile. If lpFile is not a document file, the function will fail.

    6. 

    properties

    Displays the file or folder's properties.

    .

    关键点

    .

    实现过程

    .

    //打开记事本
    ShellExecute(NULL,"open","notepad.exe",NULL,NULL,SW_SHOW);
     
    //用记事本打开 C:\1.txt文件
    ShellExecute(NULL,"open","notepad.exe","C:\\1.txt",NULL,SW_SHOW);
     
    //用IE打开网页,如果你的默认浏览器不是IE,此方法非常有用
    ShellExecute(NULL,"open","iexplore.exe","www.baidu.com",NULL,SW_SHOW);
     
    //打开完美世界
    CString str="D:\\Administrator\\Documents\\Games\\WMSJ\\WMSJ_Client\\element\\elementclient.exe";
    ::SetCurrentDirectory(str.Left(str.ReverseFind('\\')));
    ShellExecute(NULL,NULL,str,"game:cpw",NULL,SW_SHOW); 
        
    //打开 C:\1.txt文件的属性对话框
        SHELLEXECUTEINFO SHELL ={0};
        SHELL.cbSize = sizeof(SHELLEXECUTEINFO);
        SHELL.fMask = SEE_MASK_INVOKEIDLIST ;
    //    SHELL.hwnd = NULL;
        SHELL.lpVerb = "properties";
        SHELL.lpFile = "c:\\1.txt";  
    //    SHELL.lpParameters = "";
    //    SHELL.lpDirectory = NULL;
        SHELL.nShow = SW_SHOW;
    //    SHELL.hInstApp = NULL ;
        ShellExecuteEx(&SHELL);     
      
     
     
     
    //如何启动一个程序,直到它运行结束?
        SHELLEXECUTEINFO ShellInfo;
        memset(&ShellInfo0, sizeof(ShellInfo));    
        ShellInfo.cbSize = sizeof(ShellInfo);    
        ShellInfo.hwnd = NULL;    
        ShellInfo.lpVerb = _T("open");
        ShellInfo.lpFile = "C:\\Windows\\System32\\cmd.exe";    
        ShellInfo.nShow = SW_SHOWNORMAL;
        ShellInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
        ShellExecuteEx(&ShellInfo);
        WaitForSingleObject(ShellInfo.hProcess,INFINITE);
     
    //定位文件在文件夹的位置  打开文件夹并选中这个文件

    ShellExecute(m_hWnd,NULL,"explorer.exe","e/,/select, C:\\Windows\\System32\\cmd.exe",NULL,SW_SHOWNORMAL);

    .

     

    .

    .

    备注

    .http://www.cppblog.com/SpringSnow/archive/2009/04/22/80719.html

    http://www.xuedelphi.cn/wenzhang/mrjq/jyjq/2008/10/200810032552.htm

     

    .关键点

    .

    相关链接

    相关链接 相关链接

    .




  • 相关阅读:
    如何设计一个安全的对外接口?
    Java架构师必须知道的 6 大设计原则
    Spring Boot 如何快速改造老项目?
    Java 类中可以覆盖静态方法吗?
    Dubbo 的心跳设计,值得学习!
    在滴滴和头条干了 2 年后端开发,太真实…
    别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
    3种骚操作,教你查看 Java 字节码!
    sysbench测试服务器性能
    mysql DDL时出现的锁等待状态
  • 原文地址:https://www.cnblogs.com/xe2011/p/2923679.html
Copyright © 2020-2023  润新知