在windows編程中,會用到COM對象,那什么是COM對象呢?如果第一次接觸,一定是不好理解這個概念的!我記得我第一次接觸COM對象這個概念的時候,可以說是一頭霧水!
什么是COM對象?下面是個人看了很多資料和實踐所得到的理解:
一 com對象跟對象編程里面的對象概念應該是一樣的,都是對象。竟然都是對象,那么一定都有屬性和方法。
二 com對象,官方說法是組件對象模型(compoment object model),他是一組規范,是MicroSoft創建的一組二進制和網絡標准,用於解決兩個組件之間的通信!
(針對第二點,這里我在這里稍微闡述一下。一般比較官方的語言總是讓人晦澀難懂,但是字字背后的含義又是那么的重要。其實里面最重要的就是兩點地方:1.是關於組件的,按道理應該windows的組件了,如ie,word,記事本等等。2.通信,組件之間的通信,竟然是通信可以涉及到組件通信用的接口!)
什么是接口
接口就是COM與外界通信的唯一途徑,他的定義是COM規范的核心。接口是一組邏輯上相關的函數的集合,他自己可以看作是指向改組函數的指針!
下面用易語言使用winhttp這個com來訪問網頁簡單闡述下COM對象在易語言中的使用!
首先,在窗口創建一個按鈕,並在按鈕被單擊的事件下插入一個變量,類型為“對象”。
http對象.創建(WinHttp.WinHttpRequest.5.1)的含義可以這么理解:
就是創建了一個名為“http對象”的對象,對象類型名為WinHttp.WinHttpRequest.5.1。實際上也是跟這個com建立了接口,為下面的接口里面的功能進行調用提供了途徑!
竟然對象已經創建,接口已經接上,那么我們就要調用里面的功能,必須要知道里面有哪些可供調用的功能,那么我們就用對象.查看()!
我們調試一下,會彈這個窗口。這個窗口就是http對象里面可供使用的屬性和方法!
屬性 訪問類型 說明
Option 讀/寫 設置或檢索一個WinHTTP的選項值。
ResponseBody 只讀 檢索作為無符號字節數組的響應實體機構。
ResponseStream 只讀 檢索機構作為響應實體的IStream 。
ResponseText 只讀 作為文本檢索響應實體機構。
Status 只讀 從上次檢索響應的HTTP狀態代碼。
StatusText 只讀 獲取HTTP狀態的文本。
方法 Description說明
Abort 中止一個WinHTTP的 發送方法。
GetAllResponseHeaders 檢索所有的HTTP響應頭。
GetResponseHeader 檢索HTTP響應頭。
Open 打開一個HTTP連接到HTTP資源。
Send 發送一個HTTP請求到HTTP服務器。
SetAutoLogonPolicy 設置當前自動登錄策略 。
SetClientCertificate 選擇一個客戶端證書發送到一個安全的超文本傳輸協議(HTTPS)服務器。
SetCredentials 設置要使用的憑據與HTTP服務器,要么是原籍國或代理服務器。
SetProxy 設置代理服務器信息。
SetRequestHeader 添加,更改或刪除一個HTTP請求標頭。
SetTimeouts 指定以毫秒為單位,個人的時間超過了一個組件發送/接收操作。
WaitForResponse 指定的等待時間,以秒為一個異步傳送方法來完成 的值,SetTimeouts。
就不對所有的屬性和方法做詳細解釋了,大家可以自行百度。這里我們就只的用winhttp這個com對象來進行簡單的網頁訪問!
這里就一個簡單的訪問就完成了,主要了解COM對象的概念,簡單了解用COM對象“winhttp”訪問網頁的過程!