在網上很多例子都給出了類似這樣的打開方法,
ShellExecute(NULL, L"open", L"http://www.hao123.com", NULL, NULL, SW_SHOWNORMAL);
本人在WIN7 + VS08的環境中親測,測方法會產生運行錯誤,但查了ShellExecute函數
ShellExecute( HWND hwnd, //父窗口句柄 如:NULL,Handle等) LPCSTR lpOperation, //操作類型 如:"open")*要加英文雙引號 LPCSTR lpFile, //要進行操作的文件或路徑 LPCSTR lpParameters, //當lpOperation為“explore”時指定要傳遞的參數,通常設為NULL LPCSTR lpDirectory, //指定默認目錄,通常設為NULL INT nShowCmd //文件打開的方式,以通常方式還是最大化或最小化顯示,一般為SW_SHOWNORMAL )
我們發現調用的貌似也沒錯,但是在VS08中這樣的寫法是不行的!
於是又在網上查發現很多人給出這樣的解決方案。
ShellExecute(NULL, L"open", L"IEXPLORE", STR_FINISH_PAGE_WEB_SITE, NULL, SW_SHOWMAXIMIZED);
這樣寫確實能夠打開網頁,不過默認的是IE打開網頁,這樣的解決方案會然讓很多玩家瘋掉的,開個網頁還要用IE,果斷不用你這軟件了!
經過一系列的研究,終於找到了能用默認浏覽器打開網頁的辦法:方案如下
ShellExecute(NULL, L"open", L"Explorer.exe", STR_FINISH_PAGE_WEB_SITE, NULL, SW_SHOWMAXIMIZED);
看這個代碼與函數給定的參數是不是還是有一些或者說很大的差距的!
本文出自 “賣萌程序員” 博客,謝絕轉載!