好吧,這可能有一個非常簡單的答案,但我從來沒有嘗試過這樣做:如何從應用程序內啓動網頁?你知道,「點擊這裏進入我們的常見問題解答」,當他們啓動他們的默認網頁瀏覽器並進入你的頁面。我在Windows中使用C/C++,但是如果有更廣泛,更便攜的方式來做到這一點,我也想知道這一點。從我的應用程序啓動網頁
9
A
回答
17
#include <windows.h>
void main()
{
ShellExecute(NULL, "open", "http://yourwebpage.com",
NULL, NULL, SW_SHOWNORMAL);
}
4
我相信你想使用ShellExecute()函數,它應該尊重用戶對默認瀏覽器的選擇。
3
您可以使用ShellExecute函數。 示例代碼:
ShellExecute(NULL, "open", "http://stackoverflow.com", "", ".", SW_SHOWDEFAULT);
4
4
爲了記錄(既然你問了一個跨平臺的選項) ,下面在Linux下正常工作:
#include <unistd.h>
#include <stdlib.h>
void launch(const std::string &url)
{
std::string browser = getenv("BROWSER");
if(browser == "") return;
char *args[3];
args[0] = (char*)browser.c_str();
args[1] = (char*)url.c_str();
args[2] = 0;
pid_t pid = fork();
if(!pid)
execvp(browser.c_str(), args);
}
用途爲:
launch("http://example.com");
+2
BROWSER env未在Ubuntu中設置。當getenv返回NULL時,該代碼崩潰:拋出'std :: logic_error'實例後終止調用what():basic_string :: _ S_construct null無效。 – 2014-08-01 11:10:45
1
出於某種原因,ShellExecute的不有時如果應用程序即將TERMIN工作吃完之後立即吃。我們已經在ShellExecute之後添加了Sleep(5000),這有所幫助。
相關問題
- 1. 從網頁啓動Android應用程序
- 2. 從我的應用程序在Linux中啓動網頁
- 3. 從網站啓動Android應用程序
- 4. 從網絡啓動Android應用程序
- 5. 從我的應用程序啓動Mail.app
- 6. 從鉻啓動我的應用程序
- 7. 如何從網頁上的鏈接啓動應用程序mac
- 8. 如何從XULRunner中的XUL應用程序啓動網頁?
- 9. 從我的應用程序啓動Android視頻應用程序
- 10. 如何從我的應用程序啓動Facebook應用程序?
- 11. 從我的應用程序內啓動本機應用程序?
- 12. 從我的Android應用程序啓動Adobe Air應用程序
- 13. 從我的Android應用程序啓動Android應用程序
- 14. 從我的應用程序啓動外部應用程序
- 15. 從JAVA應用程序啓動摘要認證網頁
- 16. 是否可以從網頁啓動Silverlight 4 OOB應用程序?
- 17. 如何從網頁啓動Chrome應用程序?
- 18. 如何從網頁啓動Windows應用程序?
- 19. 從串口 - > Chrome應用程序 - >網頁進行通信。網頁啓動。
- 20. 從應用程序啓動「啓動器應用程序抽屜」?
- 21. 如何從我的其他應用程序啓動我的應用程序?
- 22. 我可以從我的應用程序中啓動android應用程序嗎?
- 23. 自動阻止應用程序從啓動程序啓動
- 24. 從另一個應用程序啓動我的程序
- 25. 啓動大型網絡應用程序時的空白頁面
- 26. 始終從啓動程序啓動應用程序
- 27. 如何從我的應用程序啓動我的設置包?
- 28. Android KitKat從應用程序啓動screenrecord從應用程序
- 29. ios從我的應用程序啓動應用程序導致我的應用程序終止
- 30. IntentService啓動我的應用程序
它沒有管理員權限的工作嗎? – foobar 2014-07-05 19:17:20