必威体育Betway必威体育官网
当前位置:首页 > IT技术

WinExec() and ShellExecute() 的用法

时间:2019-06-28 00:41:05来源:IT技术作者:seo实验室小编阅读:92次「手机版」
 

winexec

在MFC裡要開啟外部程式有三個API可以用,Shellexecute()被運用的機率比較高,主要是它可以控制的參數也比較多。

1. Shellexecute() 函數原型

Hinstance ShellExecute( HWND hwnd,LPCTSTR lpOperation,LPCTSTR lpFile,LPCTSTR lpparameters,LPCTSTR lpDirectory,INT nShowCmd );

參數說明:

hwnd 所掌控的window handle,一般設為NULL
lpOperation 檔案執行的方式,如"open","print","explore"分別對應 "開啟","列印","瀏覽", 若不設定,則表示以預設值為主。
lpFile 所要執行的檔案名稱
lpParameters 指定給lpFile檔案所需的參數
lpDirectory lpFile檔案目錄
nShowCmd 檔案顯示方式,可設定如下參數:
SW_HIDE 隱藏
SW_MAXIMIZE 最大化
SW_MiniMIZE 最小化,並把Z order順序在此視窗之後(即視窗下一層)的視窗啟動
SW_RESTORE 啟動視窗並還原為初始化大小
SW_SHOW 以當前大小和狀態啟動視窗
SW_SHOWDEFAULT 以預設方式運行
SW_SHOWMAXIMIZED 啟動視窗並最大化
SW_SHOWminimizeD 啟動視窗並最小化
SW_SHOWMINNOACTIVE 最小化但不改變當前啟動的視窗
SW_SHOWNA 以當前狀態顯示視窗但不改變當前啟動的視窗
SW_SHOWNOACTIVATE 以初始化大小顯示視窗但不改變當前啟動的視窗
SW_SHOWNORMAL 啟動並顯示視窗,如果是最大(小)化,視窗將會還原。第一次運行程式 時應該使用這個值

範例:

開啟DOS console mode,並顯示目錄:

      ShellExecute(handle, NULL, "cmd.exe", "/k dir", NULL, SW_SHOW);

2. winexec()

UINT WINAPI WinExec(  __in  LPCSTR lpCmdLine,  __in  UINT uCmdShow);

 lpCmdLine [in] : 所要執行的命令,若只有檔名沒有目錄,系統將依以下順序搜尋檔案:                          1. 依開啟的程式而定                          2. 目前的目錄                          3. 系統目錄                          4. windows目錄                          5. PATH環境變數所設定的目錄 uCmdShow [in] : 檔案顯示方式,參數可參考ShellExecute()相同。

範例:

開啟DOS console mode,並顯示目錄:

   WinExec("cmd.exe /k dir", SW_SHOW);

在使用上,以ShellExecute()較好用。個人在使用中有遇到,在unicode的狀態下,WinExec()有字串轉換的問題。

相关阅读

ShellExecute

转载部分: 最近在做项目过程中,有用到ShellExecute函数,功能1,为打开一个URL。代码如下:                     

ShellExecute 与 ShellExecuteEx 的使用方法

ShellExecute:1.函数功能:你可以给它任何文件的名字,它都能识别出来并打开它。2.函数原型:HINSTANCE ShellExecute(

ShellExecute详细用法(可以单独打开一个文件)

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

用ShellExecute执行Dos cmd命令失败的原因详见第1第二

用ShellExecute执行cmd命令遇到的问题总结 1、如果命令中的路径包含空格,要把路径

SHELLEXECUTEINFO 和 ShellExecuteEx的使用

在日常工作中用到的一些知识,很久没有总结过,前几日参加一个会议,很是无聊。自己思索着自己这两年来所做过的东西,写着写着居然也写下

分享到:

栏目导航

推荐阅读

热门阅读