以下我們以VB.net進行教學,其實不只是VB.NET可以用YahooMessengerLib元件,其他語言也可以用(例如VB6.VC++)
一.如何將YahooMessengerLib加入到你的專案中
1.建立一個新的【Windows Form應用程式】專案,然後依序點選【專案】→【加入參考】2.選擇【COM】頁籤,然後選擇Yahoo! Messenger TypeLib在按【確定】就成功把Yahoo! Messenger TypeLib加入到自己的專案中了
P.S.VS各系列的做法也相同
二.用YahooMessengerLib來存取及時通
成功把Yahoo! Messenger TypeLib加入到自己的專案中之後,當然是要寫程式碼來控制他1.進入程式碼輸入的視窗中,然後在最上方加入下面的程式碼來引用Yahoo! Messenger TypeLib
Imports YahooMessengerLib2.接者在Public Class 表單名稱的底下加入以下程式碼以建立Messenger2物件
Dim message As New Messenger23.再來請在表單上面加入一個Button物件,並且在Button物件底下寫入一下程式碼
message.Me.Status.SetCustomStatus("你想打得狀態", 0, DBNull.Value, DBNull.Value)如果是VB6的話這裡的程式碼應該是:
message.Me.Status.SetCustomStatus("你想打得狀態", 0, Null, Null)上面的程式碼是可以讓你修改及時通狀態的,其中message是來自於第二步的宣告,另外SetCustomStatus的第二個參數是設定目前有空或忙碌中,0=目前有空,1=忙碌中,除了可以設定狀態之後來可以做很多花樣,下面是我目前所知道的一些用法
message.Login() '如果你有儲存即時通的帳號密碼,就可以直接用此方法登入及時
message.Logout() '登出及時
message.LoginUser("帳號", "密碼") '登入指定帳號密碼
message.Me.status.message() '取得當前即時通設定的狀態P.S.在執行此程式時如果沒有啟動即時通主程式就會導致錯誤,因此建議先檢查即時通主程式是否有啟動或是先啟動主程式在執行其他程式碼
範例程式
專案檔載點:Xun6 | 4Shared| Box.netImports YahooMessengerLib
Public Class Form1
Dim message As New Messenger2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Label4.Text = message.Me.status.message() '取得當前即時通設定的狀態
Catch er As System.NullReferenceException '當即時通沒有開啟時的錯誤訊息
MsgBox("即時通沒有開啟或登入")
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
message.Login() '如果你有儲存即時通的帳號密碼,就可以直接用此方法登入及時
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
message.Logout() '登出及時
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
message.LoginUser(TextBox1.Text, TextBox2.Text) '登入指定帳號密碼
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Try
message.Me.Status.SetCustomStatus(TextBox3.Text, 0, DBNull.Value, DBNull.Value) '設定即時通狀態
Catch er As System.NullReferenceException '當即時通沒有開啟時的錯誤訊息
MsgBox("即時通沒有開啟或登入")
End Try
End Sub
End Class另外在一開始我有提到我寫了一個進階版的惡作劇程式,其實就只是多了可以遠端控制別人狀態的設計,我在我的虛擬主機上面放了一個TXT檔案,然後讓程式去讀取txt檔裡的資料並顯示到狀態上面,另外寫了一個php的程式來修改txt檔的內容,關於這套程式的原始碼請到以下位置下載




