zoukankan      html  css  js  c++  java
  • ShellExecute详细用法(可以单独打开一个文件)

    ShellExecute的功能是运行一个外部程序,或者打开一个已注册的文件、打开一个目录、打印文件等等功能,它可以打开电脑内的任何文件,也可以打开URL

    函数的原型:

    1   HINSTANCE ShellExecute( 
    2           HWND hwnd, 
    3           LPCTSTR lpOperation,
    4           LPCTSTR lpFile, 
    5           LPCTSTR lpParameters, 
    6           LPCTSTR lpDirectory, 
    7           INT nShowCmd
    8        );

    hWnd:

        用于指定父窗口的句柄。当函数调用过程中出现错误时,它将作为Windows消息窗口的父窗口。

    lpOperation:

        用于指定要进行的操作,当参数为NULL时,默认操作"open"。

       "open",表示执行由lpFile参数指定的程序,或者打开由lpFile参数指定的文件或文件夹

        "explort",表示打开由lpFile参数指定的文件夹。

        "print",表示打印由lpFile参数指定的文件。

    lpParameters:

        若lpFile参数是一个可执行文件,则此参数指定命令行参数,否则此参数应设为NULL。

    lpDirectory:

        用于指定默认目录。

    nShowCmd:

        用于指定程序窗口初始显示方式。 

    #define SW_HIDE             0    /*隐藏窗体,并激活另一个窗体*/
    #define SW_SHOWNORMAL       1     /*与SW_RESTORE相同*/
    #define SW_SHOWMINIMIZED    2     /*激活并以最小化的形式显示窗体*/
    #define SW_SHOWMAXIMIZED    3      /*激活并以最大化的形式显示窗体*/
    #define SW_MAXIMIZE         3      /*最大化指定的窗体*/
    #define SW_SHOWNOACTIVATE   4       /*以上次的状态显示指定的窗体,但不激活它*/
    #define SW_SHOW             5      /*激活窗体,并将其显示在当前的大小和位置上*/
    #define SW_MINIMIZE         6      /*最小化指定的窗体,并激活另一个窗体*/
    #define SW_SHOWMINNOACTIVE  7       /*以最小化形式显示指定的窗体,但不激活它*/
    #define SW_SHOWNA           8       /*以当前的状态显示指定的窗体,但不激活它*/
    #define SW_RESTORE          9       /*以原本的大小和位置,激活并显示指定的窗体*/
    #define SW_SHOWDEFAULT      10      /*设置显示的状态由STARTUPINFO结构体指定*/
    

    打开计算器

    1 ShellExecute(this->m_hWnd, "open", "calc.exe",NULL, NULL,SW_SHOWMAXIMIZED );
    打开一个指定的程序:
    1 ShellExecute(this->m_hWnd, "open","D:\\Program Files (x86)\\Notepad++\\notepad++.exe",NULL,NULL,SW_SHOWMAXIMIZED );  
    2 ShellExecute(this->m_hWnd, "open", "notepad++.exe",NULL, "D:\\Program Files (x86)\\Notepad++",SW_SHOWMAXIMIZED ); 
    3 ShellExecute(this->m_hWnd,"open", "notepad++.exe",NULL, "D:\\Program Files (x86)\\Notepad++\\",SW_SHOWMAXIMIZED );
    4 //三个语句其结果都是一样 
    打开一个指定的文件:
    1 ShellExecute(this->m_hWnd,"open", "F:\\C\\MFC\\MFC.pdf",NULL,NULL,SW_SHOWMAXIMIZED );  
    2 ShellExecute(this->m_hWnd,"open", "MFC.pdf",NULL,"F:\\C\\MFC\\",SW_SHOWMAXIMIZED );
    打开一个指定的文件夹:
    1 ShellExecute(this->m_hWnd, "open", "F:\\C\\MFC",NULL,NULL,SW_SHOWMAXIMIZED );  
    2 ShellExecute(this->m_hWnd, "open", NULL,NULL,"F:\\C\\MFC",SW_SHOWMAXIMIZED );  
    3 ShellExecute(this->m_hWnd,"explore", NULL,NULL,"F:\\C\\MFC",SW_SHOWMAXIMIZED );
    打开URL:
    1 ShellExecute(this->m_hWnd, "open", "http://tmxk.org/2012/", NULL, NULL,SW_SHOWMAXIMIZED );
    hWnd,可以设为NULL。
  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/freeabyss/p/3187069.html
Copyright © 2011-2022 走看看