導航:首頁 > 編程語言 > 為什麼ie編程難

為什麼ie編程難

發布時間:2022-09-07 21:12:37

⑴ 請問我的ie瀏覽器為什麼編程了這樣。 求大神指教

刷新網頁,網頁下載出現錯誤而已

⑵ 如何對webbrowser和IE編程(六)求解答

無論你使用MFC, ATL, 或者標准 C++自動化IE,方法都是一樣—你使用COM API來實現.VC++中創建一個Internet Explorer實例包括要調用COM API CoCreateInstance ,指定第一個參數為 CLSID_InternetExplorer 。創建IE自動化實例不像創建包含webbrowser的Activex控制項困難。你不需要實現容器或者site對象的必要介面。來看看如何容易的使用CoCreateInstance 創建IE實例吧。啟動Visual C++, 新建MFC AppWizard (exe) 應用程序命名為 MfcAutoIE.選擇dialog-based option, 認可其他預設選項.現在加入如VbAutoIE中的控制項到表單.對話框看起來如 6-21. 分派ID到對話框的各個控制項。 確信控制項TAB次序如 Figure 6-22. (tab 次序影響到radio按鈕的工作)
Figure 6-21.MfcAutoIE dialog.Figure 6-22.MfcAutoIE dialog tab order.現在用右鍵菜單設置每一個隱藏radio按鈕的Group ,屬性設置如表 6-9.Table 6-9.Member Variables for MfcAutoIE Dialog ControlsControlTypeMember VariableHide radio button for AddressBarintm_nAddressBarEdit boxCStringm_strStatusTextHide radio button for MenuBarintm_nMenuBarHide radio button for StatusBarintm_nStatusBarHide radio button for ToolBarintm_nToolBar我們使用ClassWizard 為表 6-9 中的控制項建立變數時,他們自動加入到 CMfcAutoIEDlg. 成員變數設置為-1. 編譯MfcAutoIE Example之前我們設置編譯的Directory次序屬性編譯之前,你需要處理一些重要任務:1. 確信你已經從MSDN中下載IE5的頭文件和庫文件。2.在Tools/Options 菜單的Directories頁, 確信lib路徑中包含Internet Explorer 5 和 Windows 2000庫文件.載列表中。3.配置Include:略 現在我們加入代碼使之工作。 首先你應當包含ExDisp.h到你的對話框頭文件—MfcAutoIEDlg.h. ExDisp.h 是包含了WebBrowser介面和類ID的頭文件.確信你已經從MSDN下載了最新的版本。建立一個private 或者protected 的數據類型,指向IWebBrowser2 的指針, 命名為 m_pInetExplorer. 如下protected: IWebBrowser2* m_pInetExplorer;現在在構造函數中初始化m_pInetExplorer 為NULL 。你必須也初始化COM. 放置一個CoInitialize 的COM API調用在構造函數。構造函數看起來應當如下: CMfcAutoIEDlg::CMfcAutoIEDlg(CWnd* pParent /*=NULL*/) : CDialog(CMfcAutoIEDlg::IDD, pParent), m_pInetExplorer(NULL){ //{{AFX_DATA_INIT(CMfcAutoIEDlg) m_strStatusText = _T(""); m_nAddressBar = -1; m_nMenuBar = -1; m_nStatusBar = -1; m_nToolBar = -1; //}}AFX_DATA_INIT //Note that LoadIcon does not require a subsequent DestroyIcon //in Win32. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
// Initialize COM CoInitialize(NULL);}建立一個析構函數,以便調用CoUninitialize API 函數用以反初始化 COM. 此處的析構函數:CMfcAutoIEDlg::~CMfcAutoIEDlg(){ // Uninitialize COM. // CoUninitialize();}在預備工作之後, 讓我們開始實現具體的控制。首先為Start IE5 按鈕建立一個消息循環. 通常,你可以使用ClassWizard建立消息循環處理句柄. 在此消息句柄, 採用 CoCreateInstance API 建立一個IE實例。 此處初建的Internet Explorer實例初始化為隱藏, 所以你必須使用Visible屬性使他可見。為了導航到用戶的主頁,使用GoHome 方法。此處為消息處理句柄代碼:void CMfcAutoIEDlg::OnStartIE5() { // If an instance of Internet Explorer has // not already been created, create one. // This instance will initially be hidden, // so make it visible by using the Visible // property. Also, navigate to the user's // home page by using the GoHome method. // if (m_pInetExplorer) MessageBox (_T("Only one instance of Internet Explorer is allowed.")); else { HRESULT hr; hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2, (LPVOID*)&m_pInetExplorer);
if (SUCCEEDED(hr)) { // Set the radio buttons to their correct values. SetRadioButtons();
m_pInetExplorer->put_Visible(VARIANT_TRUE); m_pInetExplorer->GoHome(); } }}在此代碼中,我們首先檢查是否IE的上一個實例已經建立。如果已經建立,將會顯示一個錯誤消息框。(你僅僅能夠啟動一個IE的實例,隨後你將可以看到如何檢測IE窗口被關閉以便重置IE的數據成員。)如果一個IE的實例還未創建, CoCreateInstance 將CLSID_InternetExplorer 作為第一個參數被調用. (此類 ID 定義於ExDisp.h ,為Internet Explorer的唯一標示符.)第二個參數我們設定為NULL ,因為我們不希望此COM對象被聚合(be aggregated). 我們希望IE運行在一個單獨的進程空間,所以我們指定第三個參數為特殊值 CLSCTX_SERVER .我們利用第四個參數指示哪一個介面我們將通過CoCreateInstance 調用創建一個COM對象後被創建。在此例中,我們將一直希望獲得IWebBrowser2, 所以我們指定IID_IWebBrowser2 為第四個參數值。最後我們傳送存儲介面指針的變數. 對於此參數,你必須採用void類型傳遞一個指針的地址 (確信你傳送的指針指向一個介面類型。)如果一個IE實例成功創建,名為SetRadioButtons 的成員變數被創建。這是一個protected 成員函數,檢查當前地址欄、菜單條、工具條和狀態條等的狀態 ,用來設置radio 按鈕組的狀態。.為檢查每一個的狀態我們簡單的獲取屬性關聯的當前值 。C++ 應用中使用COM 沒有包裝類, 屬性被引用為使用 get_ and put_ 方法.為檢取每一個用戶問題的狀態,我們簡單的調用每一個關聯的(UI)項目的get_ 方法.除了 get_ToolBar外其他get_方法返回指向VARIANT_BOOL 數據類型,返回值指示用戶介面是否可見或者隱藏。如果用戶介面元素可見,將返回VARIANT_TRUE 。如果該項目是隱藏的,將返回VARIANT_FALSE 。這些值區別於TRUE 和FALSE 的用法.提醒當在Visual C++涉及VARIANT_BOOL , 你必須使用VARIANT_TRUE 或者VARIANT_FALSE 代替TRUE or FALSE. VARIANT_TRUE定義值0xffff, 而TRUE定義為1. 如果你比較VARIANT_TRUE 和TRUE, 你將發現在Vb中不匹配,你可以在涉及到VARIANT_BOOL. 使用true和false是由於VB替你實現了轉換。get_ToolBar 方法不同於其他屬性,因為它指向一個整型指針,所以我們如果發現返回非0,工具條可見。如果整型值是0,工具條將隱藏: 提醒如果一個屬性只讀, put_將不會出現。同樣,如果一個屬性只寫,將不會出現get_方法。此處為 SetRadioButtons 方法的代碼:void CMfcAutoIEDlg::SetRadioButtons(){ VARIANT_BOOL vtBool = VARIANT_TRUE;
// Get the current state of the AddressBar. // m_pInetExplorer->get_AddressBar(&vtBool); m_nAddressBar = (vtBool == VARIANT_TRUE) ? 1 : 0;
// Get the current state of the MenuBar. // m_pInetExplorer->get_MenuBar(&vtBool); m_nMenuBar = (vtBool == VARIANT_TRUE) ? 1 : 0;
// Get the current state of the StatusBar. // m_pInetExplorer->get_StatusBar(&vtBool); m_nStatusBar = (vtBool == VARIANT_TRUE) ? 1 : 0;

⑶ 智能瀏覽器內核是什麼為什麼那麼難研發

瀏覽器內核(layout engine),也稱為瀏覽器內核(web browser engine)、頁面渲染引擎(rendering engine)或樣版引擎,它是一種軟體組件,負責獲取標記式內容(如HTML、XML及圖像文件等等)、整理信息(如CSS及XSL等),並將排版後的內容輸出至顯示器或列印機。所有網頁瀏覽器、電子郵件客戶端、電子閱讀器以及其它需要根據表示性的標記語言(Presentational markup)來顯示內容的應用程序都需要瀏覽器內核。
瀏覽器內核是一個瀏覽器最為核心的部分,比較難研發是理所當然的。

⑷ IE瀏覽器怎麼越來越難用了!。

IE瀏覽器有十幾年的歷史,核心代碼過於老舊維護難度比較大。微軟都已經放棄更新。國內的雙核瀏覽器如搜狗瀏覽器和QQ等針對國內情況進行了定製。比如搜狗集成了自己的flash插件不需要安裝。高速模式基於chrome核心對新網頁標准兼支持更好,兼容模式調用IE用於瀏覽老舊站點。

⑸ IE是用什麼語言編程的

..... 樓上的好誤導人哦。

你聽誰說windows是VB做的?

windows上的應用產品都是基於MFC框架做的,即VC++;

而windows本身是基於 C語言和匯編語言做的。

其它操作系統比如 linux和unix基本上也是基於 C語言和部分匯編語言做的。

VB做小型應用,特別是有界面的小程序還是可以的,但做大型軟體特別是操作系統級這樣的,是不可能完成的任務。

VB沒什麼市場。處於上下兩難的地界, 比軟體的運行速度和效率肯定比不上C/C++,比開發速度、擴展性、和開源框架也不是java的對手。所以現代軟體,特別是企業級軟體一般要不就是C/C++,要不就是java

程序員為什麼討厭ie

因為,程序IE太垃圾了,基本上是小白用的。程序員要顯示出他的專業性,所以得用高級的東西

⑺ 打開IE瀏覽器的時候,經常出現應用程序錯誤~

原因:是由於IE瀏覽器過多的緩存垃圾造成的。

1、首先滑鼠右鍵單擊IE瀏覽器,以管理員身份打開IE瀏覽器,

⑻ 為什麼IE瀏覽器特別難用微軟不會造瀏覽器

你可以說微軟不會造瀏覽器,但是微軟的瀏覽器還是有很多人比較喜歡的,原因在於使用起來很簡單,至於之所以微軟不是特別在乎瀏覽器的界面,是因為微軟的核心業務是操作系統,瀏覽器只不過是操作系統中間的一環而不是核心。就如同生產汽車的企業,它未必會在意汽車輪胎該怎麼造的道理是一樣的。作為一個企業,你不可能把控整個產品的所有環節,要懂得把適當的利潤分給其他企業,讓大家和自己在同一條戰線上,這樣才可能做大做強。

⑼ IE需要編程技術不

IE是個瀏覽器軟體,集成在Windows操作系統中,可以用瀏覽器瀏覽網頁中的內容。如果你僅僅是瀏覽網頁,那麼使用瀏覽器就可以了,當然不一定使用IE瀏覽器,還有很多其他瀏覽器也挺好用。
但是如果你想開發一個網站,就需要學習編程技術了,常見的有JavaEE和PHP,近兩年Node.JS也比較火。

⑽ IE6為什麼會成為前端的噩夢

因為IE6已經被淘汰了,而前端在設計些代碼的時候為了用戶體驗,還得各種考慮IE6是否兼容顯示網頁,如果IE6能直接不考慮,那麼前端的工作量和難度會降低一些,所以稱為前端的噩夢。

閱讀全文

與為什麼ie編程難相關的資料

熱點內容
androidm3u8緩存 瀏覽:234
imphp開源知乎 瀏覽:706
清除網路通配符dos命令 瀏覽:837
鴻蒙系統怎麼快速換回安卓 瀏覽:712
pdf綠色虛擬列印機 瀏覽:213
androidtab框架 瀏覽:147
java轉php的時間戳 瀏覽:638
編譯libstdc依賴 瀏覽:657
清演算法人與原法人的區別 瀏覽:409
家庭裝修下載什麼app軟體 瀏覽:574
美食博主用什麼app拍視頻 瀏覽:815
ipone手機如何加密微信 瀏覽:357
自來水加密閥閥帽 瀏覽:437
華為交換機dhcp配置命令 瀏覽:319
androidbitmap縮小 瀏覽:275
單片機串口控制燈 瀏覽:88
大訊雲伺服器安裝視頻 瀏覽:788
華為演算法領先世界 瀏覽:658
linux路由重啟 瀏覽:570
php的模板編程 瀏覽:324