1. 程式人生 > >C++開啟一個網頁

C++開啟一個網頁

呼叫外部命令

如果用預設瀏覽器,就呼叫ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("<a target=_blank href="http://www.baidu.com/" target="_blank" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">http://www.baidu.com</a>"), NULL, SW_SHOW);
如果用IE開啟,就呼叫ShellExecute(NULL, _T("open"), _T("iexplore.exe"), _T("<a target=_blank href="http://www.baidu.com/" target="_blank" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">http://www.baidu.com</a>"), NULL, SW_SHOW);
//另外網上還有這樣的詳解
<pre name="code" id="best-content-255223954" class="best-text mb-10" style="margin-top:0px; margin-bottom:10px; padding:0px; font-family:arial,'courier new',courier,宋體,monospace; white-space:pre-wrap; word-wrap:break-word; color:rgb(51,51,51); font-size:13.63636302947998px; line-height:23.99147605895996px; background-color:rgb(241,254,221)">可以使用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 啟動並顯示視窗,如果是最大(小)化,視窗將會還原。第一次執行程式 時應該使用這個值

範例一:開啟 <a target=_blank href="http://www.xspace.idv.tw/" target="_blank" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">http://www.xspace.idv.tw/</a> 網站
view plaincopy to clipboardprint?
ShellExecute(Handle, "open", "<a target=_blank href="http://www.xspace.idv.tw/" target="_blank" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">http://www.xspace.idv.tw/</a>",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", "<a target=_blank href="http://www.xspace.idv.tw/" target="_blank" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">http://www.xspace.idv.tw/</a>", 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);

相關推薦

C++開啟一個網頁

呼叫外部命令 如果用預設瀏覽器,就呼叫ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("<a target=_blank href="http://www.baidu.com/" target="_blan

一個應用圖示,點選圖示後開啟一個網頁

一、建一個MainActivity.java檔案 在路徑:7731e81\sc7731e.81.az\packages\apps\Launcher3\src\com\ww\taobao\下 二、新增字串 在路徑:7731e81\sc7731e.81.az\packages\apps\Laun

Unity3d中,簡單的開啟一個網頁

新建場景Scene1,新增button,在Canvas新增如下指令碼: public Button but;     // Use this for initialization     void Start ()     {         but = GameO

Android中 WebView開啟一個網頁例項

佈局介面如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

開啟一個網頁,需要用到多少協議?

系統環境: OS:Linux ubuntu 2.6.32-46-generic #105-Ubuntu SMP Fri Mar 1 00:08:49 UTC 2013 i686 GNU/Linux 抓包軟體:Wireshark (sudo wireshark

瀏覽器開啟一個網頁時都發生了什麼

瀏覽器解析URL 選擇協議並找出你請求的資源,你可能開啟的是一個基於http協議的網站主頁 Protocol “http:” 使用HTTP協議 Resource “/“ 請求的資源是根目錄,一般是主頁 如果我位址列裡的不是url連結怎麼辦?(

C#開啟一個新視窗關閉當前視窗時卡死的問題

這個問題是這樣的,有三個Windows窗體(如圖,以下主窗體Form1不考慮,只考慮Form2、Form3),現在打開了Form2,我想點Form2的“button1"來開啟Form3同時關掉Form2,     但出現如下圖的情況,Form2跟Form3兩個視窗不斷反覆出現

windows C/C++ 在一個程式中開啟,關閉和監視其它的exe程式

本文要實現的功能就是在windows下,實現用一個程式來開啟,關閉和監視其它的exe程式,我這裡的的exe程式是我自己實現的。 1.監視exe是否崩潰 首先如果一個程序不在了,它的程序ID就是0, 那麼通過檢測程序ID是否為0,就可以知道程序是否還在執行。 假設程式崩潰了,它的程序ID會

一個網頁開啟的全過程分析

1、概要   從使用者在瀏覽器輸入域名開始,到web頁面載入完畢,這是一個說複雜不復雜,說簡單不簡單的過程,下文暫且把這個過程稱作網頁載入過程。下面我將依靠自己的經驗,總結一下整個過程。如有錯漏,歡迎指正。   閱讀本文需要讀者已有一定的計算機知識,瞭解TCP、DNS

C# 程式碼開啟一個網路連線

2018年11月02日 14:34:23 maba007 閱讀數:2 個人分類: C#

一個網頁開啟的全過程

1、概要   從使用者在瀏覽器輸入域名開始,到web頁面載入完畢,這是一個說複雜不復雜,說簡單不簡單的過程,下文暫且把這個過程稱作網頁載入過程。下面我將依靠自己的經驗,總結一下整個過程。如有錯漏,歡迎指正。   閱讀本文需要讀者已有一定的計算機知識,瞭解TCP、DNS等。

利用python開啟一個代理網頁

from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains url = 'http://www.baidu.com' chromeOptions = webdrive

c#在一個視窗中開啟一個視窗

1、今天功能需要,開啟新的視窗,這裡簡單記錄下2、實現機制,在主程式開啟第一個視窗,在第一個窗口裡面寫入觸發事件,開啟另一個視窗,並隱藏當前視窗3、實現程式碼段    建立兩個視窗 分別為  setParams 和 main    在主程式中預設開啟setParams視窗  

三種簡單的html網頁自動跳轉方法,可以讓你在開啟一個html網頁時自動跳轉到其它的頁面

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>正在跳轉</title> </head> &

C#winform中,MdiParent中每個子視窗都只能開啟一個

publicstaticbool sign =false;        public frm()        {               InitializeComponent();        }        privatevoid frm_FormClosing(object sender

C# webbrowser中新視窗在Webbrowser內開啟遮蔽網頁JS錯誤

private void webbrowser1_documentcompleted(object sender, webbrowserdocumentcompletedeventargs e) {//將所有的連結的目標,指向本窗體 foreach (htmleleme

MFC C++監聽網頁視窗的點選超連結跳轉問題(即開啟新的瀏覽器視窗)

使用MFC的CHtmlView類,註冊ON_EVENT事件進行監聽。 實現的基本程式碼是: BEGIN_EVENTSINK_MAP(CxxxView, CHtmlView)ON_EVENT(CxxxView, AFX_IDW_PANE_FIRST, DISPID_NEWWI

一個網頁開啟到顯示的全過程。

1、概要   從使用者在瀏覽器輸入域名開始,到web頁面載入完畢,這是一個說複雜不復雜,說簡單不簡單的過程,下文暫且把這個過程稱作網頁載入過程。下面我將依靠自己的經驗,總結一下整個過程。如有錯漏,歡迎指正。   閱讀本文需要讀者已有一定的計算機知識,瞭解TCP、DNS等。

淺談一個網頁開啟的全過程(涉及DNS、CDN、Nginx負載均衡等)

1、概要   從使用者在瀏覽器輸入域名開始,到web頁面載入完畢,這是一個說複雜不復雜,說簡單不簡單的過程,下文暫且把這個過程稱作網頁載入過程。下面我將依靠自己的經驗,總結一下整個過程。如有錯漏,歡迎指正。   閱讀本文需要讀者已有一定的計算機知識,瞭解TCP、DNS等。 2、分析   眾所周知,開啟

003轉載----C#開啟網頁

作者:微wx笑 來源:CSDN 原文:https://blog.csdn.net/testcs_dn/article/details/42246969 版權宣告:本文為博主原創文章,轉載請附上博文連結! 示例介面: 方法一:從登錄檔中讀取預設瀏覽器可執行檔案路徑