平時在delphi寫代碼的過程中總是能遇到ShellExecute函數,於是索性將它的使用方法整理一下,由於我在微軟的站點上也沒能查到個詳解(當然我查的中文版,俺菜嘛)
ShellExecute函數原型及參數含義例如以下:
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;
●hWnd:用於指定父窗體句柄。當函數調用過程出現錯誤時,它將作爲Windows消息窗體的父窗體。比如,能夠將其設置爲應用程序主窗體句柄,即 Application.Handle,也能夠將其設置爲桌面窗體句柄(用GetDesktopWindow函數獲得)。
●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 沒有關聯不論什麼應用程式。