ShellExecute詳細用法


ShellExecute的功能是運行一個外部程序,或者打開一個已注冊的文件、打開一個目錄、打印文件等等功能,它可以打開電腦內的任何文件,也可以打開URL。

函數的原型:

HINSTANCE ShellExecute( 
          HWND hwnd, 
          LPCTSTR lpOperation,
          LPCTSTR lpFile, 
          LPCTSTR lpParameters, 
          LPCTSTR lpDirectory, 
          INT nShowCmd
       );

 

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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM