Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để kết nối với một trường hợp hoạt động của Internet Explorer

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 176792
Tóm tắt
Nó có thể kết nối với một trường hợp hoạt động của Internet Explorer phiên bản 4.0 hoặc sau đó bằng cách sử dụng bộ sưu tập SHDocVw.ShellWindows.
Thông tin thêm
Thông thường, một ứng dụng kết nối với một trường hợp hoạt động của một ứng dụng bằng cách sử dụng bảng đối tượng chạy. Bởi vì Internet Explorer 4,0 không kiểm nhập chính nó trong bảng đối tượng đang chạy, phương pháp khác là cần thiết.

Các bộ sưu tập ShellWindows được mô tả trong Internet Khách hàng SDK như sau: Các ShellWindows đối tượng đại diện cho một bộ sưu tập của các mở cửa sổ thuộc về vỏ. Trong thực tế, có chứa bộ sưu tập này tài liệu tham khảo cho Internet Explorer cửa sổ cũng như khác thuộc các vỏ, chẳng hạn như Window Explorer.

Visual Basic mã sau có được một tham chiếu đến bộ sưu tập ShellWindows. Các bộ sưu tập liệt kê và LocationName cho mỗi đối tượng vào một hộp danh sách. Nếu các tài liệu liên kết với các đối tượng là loại HTMLDocument (trang Web), các tiêu đề cho web site được thêm vào một hộp danh sách.

Để chạy các sau khi mã, nó là cần thiết để thêm một tham chiếu đến "Internet của Microsoft Điều khiển"(Shdocvw.dll) và"Microsoft HTML đối tượng thư viện"(Mshtml.dll) để các Visual Basic dự án:
Dim SWs As New SHDocVw.ShellWindowsDim IE As SHDocVw.InternetExplorerPrivate Sub Form_Load()   Dim Doc   List1.Clear   List2.Clear   Text1.Text = SWs.count   For Each IE In SWs      List1.AddItem IE.LocationName      Set Doc = IE.Document      If TypeOf Doc Is HTMLDocument Then         'if this is an HTML page, display the title         'may or may not be the same as LocationName         List2.AddItem Doc.Title      End If   NextEnd Sub				

Trong c + +, một kết nối có thể được thực hiện trong khoảng theo cùng một cách. Visual C++ bản Com hỗ trợ được sử dụng ở đây vì lợi ích của ngắn gọn.

Thêm tài liệu tham khảo để Shdocvw.dll và Mshtml.dll vào dự án:
#import <mshtml.dll> // Internet Explorer 4.0x#import <mshtml.tlb> // Internet Explorer 5#import <shdocvw.dll>				
Tuyên bố một thể hiện của một con trỏ IShellWindows trong lớp học xem của bạn:
SHDocVw::IShellWindowsPtr m_spSHWinds;				
Tạo ra một thể hiện của một đối tượng ShellWindows trong nhà xây dựng của xem của bạn:
m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows));				
Sử dụng các đối tượng ShellWindows trong xem của bạn OnInitialUpdate chức năng:
void CConnectIEView::OnInitialUpdate(){   CFormView::OnInitialUpdate();   ASSERT(m_spSHWinds != NULL);   CString strCount;   long nCount = m_spSHWinds->GetCount();   strCount.Format("%i", nCount);   m_strWinCount = strCount;   UpdateData(FALSE);   IDispatchPtr spDisp;   for (long i = 0; i < nCount; i++)   {      _variant_t va(i, VT_I4);      spDisp = m_spSHWinds->Item(va);      SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);      if (spBrowser != NULL)      {         m_ctlListLoc.AddString(spBrowser->GetLocationName());         MSHTML::IHTMLDocument2Ptr spDoc(spBrowser->GetDocument());         if (spDoc != NULL)         {             m_ctlListTitle.AddString(spDoc->Gettitle());         }      }   }}				

Các phương pháp trước đó để kết nối với một trường hợp hoạt động của các Internet Explorer không hoạt động nếu Shell hội nhập chưa được cài đặt chuyên biệt, hoặc nếu "Trình duyệt trong một quy trình mới" được chọn trong Internet Explorer 4.0.

Nếu những yếu tố này không thể được kiểm soát, vẫn còn có một phương pháp có thể có thể làm việc. Một đối tượng trợ giúp trình duyệt có thể được ghi vào kiểm nhập Internet Explorer 4.0 trong đối tượng hiện hoạt bảng (ROT). Có nhiều triển khai có thể ở đây tùy thuộc vào cách ứng dụng là để xác định các trường hợp của Internet Thám hiểm mà để kết nối. Đây là chỉ là một giải pháp có thể: trình duyệt đối tượng trợ giúp, có quyền truy cập vào các mô hình đối tượng trong trường hợp của Explorer mà đưa ra nó, sẽ xác định nếu đây là trường hợp của trình duyệt mà phải được kiểm nhập trong bảng đối tượng đang chạy.

Giao diện mà người tiêu dùng là quan tâm đến việc có thể được kiểm nhập tại ROT với các RegisterActiveObject chức năng và một CLSID giả người tiêu dùng sẽ nhận ra. Một giải pháp, mà sẽ cho phép nhiều trường hợp của các Explorer để được kiểm nhập tại ROT, sẽ là để có trợ giúp trình duyệt đối tượng soạn một biệt danh mục dựa trên một GUID và phần dữ liệu duy nhất cho mỗi trường hợp của Internet Explorer. Biệt danh sẽ được kiểm nhập tại ROT với phương pháp IRunningObjectTable::Register. Một lần nữa, người tiêu dùng có thể biết làm thế nào nhận ra biệt danh này.
Tham khảo
Để biết thêm chi tiết, xin vui lòng truy cập vào web site MSDN trực tuyến Hội thảo tại: Khách hàng Internet SDK; tra cứu trên Internet công cụ và Công nghệ - Windows Shell API

Để biết thêm chi tiết, xin vui lòng Xem bài viết sau trong cơ sở kiến thức Microsoft:
179230 Tập tin: IEHelper-gắn với IE4 bằng cách sử dụng một đối tượng trợ giúp trình duyệt
Để biết thêm chi tiết, xin vui lòng truy cập bài viết sau đây tại: (c) Microsoft Corporation 1997, tất cả các quyền. Những đóng góp của Robert công tước, Microsoft Corporation
Trợ giúp kết nối liệt kê

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 176792 - Xem lại Lần cuối: 07/20/2013 15:22:00 - Bản sửa đổi: 3.0

Microsoft Internet Client Software Development Kit 4.01

  • kbcode kbhowto kbmt KB176792 KbMtvi
Phản hồi