VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

ShellExecute() 函數說明文件(API)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
朱育興



註冊時間: 2003-08-25
文章: 653
來自: 台中市大里區

第 1 樓

發表發表於: 星期日 九月 07, 2003 3:33 am    文章主題: ShellExecute() 函數說明文件(API) 引言回覆

FoxPro 宣告方式:

DECLARE INTEGER ShellExecute IN shell32;
  INTEGER hwnd,;
  STRING lpOperation,;
  STRING lpFile,;
  STRING lpParameters,;
  STRING lpDirectory,;
  INTEGER nShowCmd


參數:
hwnd
 Handle to a parent window. This window receives any message boxes
 that an application produces, such as error reporting.

lpOperation
 對指定檔案執行時所做的動作,有下列幾種選擇:
 edit  編輯
 explore 瀏覽
 find  搜尋
 open  開啟
 print  列印

lpFile
 所指定的檔案

lpParameters
 若指定檔案是一個可執行檔案(executable file),且其後可下參數時,lpParameters
 就是存放該執行檔的參數內容。

lpDirectory
 指定檔案所在的路徑。若未指定,它會依預設的方式一一尋找。

nShowCmd
 指定執行該檔案時,其應用程式的顯示模式:(除了下列兩種外,應該還有其他)
 0 不顯示
 1 一般大小


傳回值:
 1.若執行成功,傳回大於 32 的數值。
 2.若失敗,有下列幾種回應值:
   2 錯誤的關聯 (例如:不合法的 URL)
  29 關聯失敗
  30 關聯應用程式忙碌中...
  31 沒有關聯任何應用程式


範例:(先宣告此 API)
 1.與指定的電腦之時間同步
  M_cComputerName --> 指定的電腦名稱
  =ShellExecute(0,"Open","NET.EXE","time \\"+M_cComputerName+" /set /yes","",0)

 2.檔案複製
  VFP 本身就有 COPY FILE ... 命令,但來源檔案必須是未被使用中才行,
  否則 VFP 會出現錯誤訊息,但改用下列方式就不會了。
  M_cSourceFile --> 來源檔案名稱
  M_cTargFile --> 目的檔案名稱
  =ShellExecute(0,"Open",GETENV("COMSPEC"),"COPY "+M_cSourceFile+" "+M_cTargFile,"",0)

  備註:
   1.若是 Win2000 以下的 OS,請將 CMD.EXE 換成 COMMAND.COM。
    不過在 VFP 中直接用 GETENV("COMSPEC") 就可以了,VFP 會自行判斷。
    (2003/09/08 修改)
   2.事實上它就是在 DOS 模式下執行 DOS 內部指令 COPY 的動作,以 VFP 的做法如下
    ! COPY &M_cSourceFile. &M_cTargFile.
   3.將 nShowCmd 設為 0 就可令那討厭的 DOS 視窗完全不會出現;
    其他的 DOS 指令也可依此模式去做。


後記:
 這是我使用此 API 的心得,當中若有不正確或須補充的地方,煩請各位能告知我,
 以便將此 API 的說明更加完備
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
朱育興



註冊時間: 2003-08-25
文章: 653
來自: 台中市大里區

第 2 樓

發表發表於: 星期一 九月 08, 2003 10:19 am    文章主題: 引言回覆

2003/09/08 修改
_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作