ShellExecute函式簡單說明

2021-09-06 21:38:44 字數 1512 閱讀 6094

平時在delphi寫**的過程中總是能遇到shellexecute函式,於是索性將它的使用方法整理一下,由於我在微軟的站點上也沒能查到個詳解(當然我查的中文版,俺菜嘛)

shellexecute函式原型及引數含義例如以下:

function shellexecute(hwnd: hwnd; operation, filename, parameters,directory: pchar; showcmd: integer): hinst; stdcall;

●operation:用於指定要進行的操作。

當中「open」操作表示執行由filename引數指定的程式,或開啟由filename引數指定的檔案或目錄;

「print」操作表示列印由filename引數指定的檔案;

「explore」操作表示瀏覽由filename引數指定的目錄。

當引數設為nil時,表示執行預設操作「open」;

edit  編輯;

find  搜尋

最後這兩個是在別的站點上找到的,沒有驗證是不是這樣。

●filename:用於指定要開啟的檔名稱、要執行的程式檔名稱或要瀏覽的目錄名。

●parameters:若filename引數是乙個可執行程式,則此引數指定命令列引數,否則此引數應為nil或pchar(0)。

●directory:用於指定預設目錄。

●showcmd:若filename引數是乙個可執行程式,則此引數指定程式窗體的初始顯示方式,否則此引數應設定為0

此引數可為下列值之中的乙個

displaystate值含義

hide

0隱藏窗體並啟用其它窗體

shownormal

1啟用並顯示乙個窗體

假設窗體是最小化或最大化, 將其還原到其原始大小和位置 (同 restore)

showminimized

2 啟用窗體並最小化

showmaximized

3啟用窗體並最大化

showminnoactivate

4以近期的大小和位置

顯示窗體

當前活動窗體保持活動

show

5啟用窗體並顯示其當前大小和位置中

minimize

6最小化指定窗體並啟用系統列表中頂層窗體

showminnoactive

7以最小化模式顯示窗體

當前活動窗體保持活動

showna

8以近期的狀態顯示窗體

當前活動窗體保持活動

restore

9啟用窗體並顯示

假設窗體是最小化或最大化,還原到其原始大小和位置 (同shownormal)

補充:maximize :

最大化窗體

若shellexecute函式呼叫成功,則返回值為被執行程式的例項控制代碼。若返回值小於32,則失敗,有下列幾種回應值:

2 錯誤的關聯 (比如:不合法的 url)

29 關聯失敗

30 關聯應用程式忙碌中...

31 沒有關聯不論什麼應用程式。

ShellExecute用法種種

q 如何開啟乙個應用程式?shellexecute this m hwnd,open calc.exe sw show 或 shellexecute this m hwnd,open notepad.exe c mylog.log sw show 正如您所看到的,我並沒有傳遞程式的完整路徑。q 如何...

Delphi中ShellExecute的妙用

shellexecute的功能是執行乙個外部程式 或者是開啟乙個已註冊的檔案 開啟乙個目錄 列印乙個檔案等等 並對外部程式有一定的控制。有幾個api函式都可以實現這些功能,但是在大多數情況下shellexecute是更多的被使用的,同時它並不是太複雜。下面舉例說明它的用法。開啟記事本,並開啟乙個檔案...

Delphi中ShellExecute的妙用

shellexecute的功能是執行乙個外部程式 或者是開啟乙個已註冊的檔案 開啟乙個目錄 列印乙個檔案等等 並對外部程式有一定的控制。有幾個api函式都可以實現這些功能,但是在大多數情況下shellexecute是更多的被使用的,同時它並不是太複雜。下面舉例說明它的用法。開始乙個新的應用程式 開啟...