計算msn user id的函數

摘要:計算msn user id的函數

好像是從msn 6.2之後,
msn messenger 在儲存使用者相關資料的時候,
就已經不是使用帳號,而是一串數字,
所以如果要寫程式去抓取目前使用者的一些檔案,
就需要先知道現在的使用者的"號碼"是多少,
當然,這個號碼就是從帳號那邊換算過來的,
至於怎麼算...使用下面者個函數就可以了...

Public Function getUserId(ByVal sSigninName As String) As Double
Dim i As Integer

For i = 1 To Len(sSigninName)
getUserId = CToLong(getUserId * 101)
getUserId = CToLong(getUserId + Asc(LCase(Mid$(sSigninName, i, 1))))

Next i
End Function
Private Function CToLong(ByVal d As Double) As Double
CToLong = d
Do While CToLong > 2 ^ 32
CToLong = CToLong - 2 ^ 32
Loop
End Function

如果你想要寫程式去抓去msn的表情符號或是顯示的頭像的話,
那這個函數應該是有幫助.

資料來源 : How to Calculate the MSN Messenger 6.x Passport User