調用外部命令 如果用默認浏覽器,就調用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW); 如果用IE打開,就調用ShellExecute(NULL, _T("open"), _T("iexplore.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW);//另外網上還有這樣的詳解可以使用API函數ShellExecute 具體用法可以參考如下: 有三個 Windows API 函數可以運行可執行檔WinExec、ShellExecute和CreateProcess。 ShellExecute的功能是運行一個外部程式(或者是開啟一個已注冊的文件、開啟一個目錄、列印一個文件等等),並對外部程式有一定的控制。 有幾個API函數都可以實現這些功能,但是在大多數情況下ShellExecute是更多的被使用的,同時它並不是太復雜。 函數原型: HINSTANCE ShellExecute( HWND hwnd,LPCTSTR lpOperation,LPCTSTR lpFile,LPCTSTR lpParameters,LPCTSTR lpDirectory,INT nShowCmd ); 參數說明: hwnd 視窗的名稱 (不知道這樣解釋對不對) lpOperation 進行的操作,如"open","print","explore"分別對應 "開啟","列印","浏覽", 也可以為空(""),此時表示進行預設的操作。 lpFile 要操作的文件。 lpParameters 如果lpFile指定的是一個可執行檔則表示參數 lpDirectory 操作進行的目錄 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 啟動並顯示視窗,如果是最大(小)化,視窗將會還原。第一次運行程式 時應該使用這個值 范例一:開啟 http://www.xspace.idv.tw/ 網站 view plaincopy to clipboardprint? ShellExecute(Handle, "open", "http://www.xspace.idv.tw/",nil,nil, SW_SHOWNORMAL); 如果將FileName參數設置為"mailto:"協議格式,那麼該函數將啟動預設的郵件用戶端程式, 如 Microsoft Outlook(也包括Microsoft Outlook Express)或 Netscape Messanger。 范例二:寄信給 [email protected] (用戶帳號@郵件服務器地址) ShellExecute(Handle, "open"," mailto:[email protected]", nil, nil, SW_SHOWNORMAL); 開啟寫新郵件視窗,並自動填入收件人位置。 以下在介紹一些不一樣的用法: 開始一個新的應用程式 ShellExecute(Handle, "open", "c:\test\app.exe", nil, nil, SW_SHOW); 開啟記事本,並開啟一個文件(系統能識別記事本應用程式的路徑,因此我們不必使用絕對路徑) view plaincopy to clipboardprint? ShellExecute(Handle, "open", "notepad", "c:\test\readme.txt", nil, SW_SHOW); 列印一個文檔 ShellExecute(Handle, "print", "c:\test\test.doc", nil, nil, SW_SHOW); 注意:可能你會看到word暫時的被開啟,但它會自動關閉。 開啟一個HTML頁面 ShellExecute(Handle, "open", "http://www.xspace.idv.tw/", nil, nil, SW_SHOW); [/codes] 你能通過一個已經注冊的文件類型來開啟應用程式 ShellExecute(Handle, "open", "c:\test\readme.txt", nil, nil, SW_SHOW); 用windows Explorer 開啟一個目錄 ShellExecute(Handle, "explore", "c:\windows)", nil, nil, SW_SHOW); 運行一個DOS命令並立即返回 ShellExecute(Handle, "open", "command.com", "/c copy file1.txt file2.txt", nil, SW_SHOW); 運行一個DOS命令並保持DOS視窗存在 ShellExecute(Handle, "open", "command.com", "/k dir", nil, SW_SHOW);