Wie die Überschrift schon sagt ein MSN Udf, funktioniert größtenteils auch mit Windows Live Messenger.
Befehle:
Spoiler anzeigen
_MSN_Create()
_MSN_ContactAdd($oMSN, $sEmail = '')
_MSN_SignIn($oMSN, $sUser = '', $sPass = '')
_MSN_ContactObjGet($oMSN, $sEmail)
_MSN_ConvWinOpen($oMSN, $vContact)
_MSN_GetContactList($oMSN)
_MSN_MyFriendlyName($oMSN)
_MSN_MyEmail($oMSN)
_MSN_MyStatus($oMSN)
_MSN_SetStatus($oMSN, $iStatus)
_MSN_ContactIsBlocked($oContact)
_MSN_ContactBlock($oContact)
_MSN_ContactUnblock($oContact)
_MSN_ContactFriendlyName($oContact)
_MSN_ContactEmail($oContact)
_MSN_NumContacts($oList)
_MSN_ContactObjGetByIndex($oList, $iIndex)
_MSN_ContactRemove($oList, $oContact)
UDF Code
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Hier habt ihr ein kleines msn udf...
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]$MSN_STATUS_UNKNOWN = 0x0000
$MSN_STATUS_OFFLINE = 0x0001
$MSN_STATUS_AVAILABLE = 0x0002
$MSN_STATUS_INVISIBLE = 0x0006
$MSN_STATUS_BUSY = 0x000A
$MSN_STATUS_BRB = 0x000E
$MSN_STATUS_IDLE = 0x0012
$MSN_STATUS_AWAY = 0x0022
$MSN_STATUS_PHONE = 0x0032
$MSN_STATUS_LUNCH = 0x0042
$MSN_STATUS_FINDING_SERVER = 0x0100
$MSN_STATUS_CONNECTING = 0x0200
$MSN_STATUS_SYNCING = 0x0300
$MSN_STATUS_DISCONNECTING = 0x0400
#cs
_MSN_Create()
_MSN_ContactAdd($oMSN, $sEmail = '')
_MSN_SignIn($oMSN, $sUser = '', $sPass = '')
_MSN_ContactObjGet($oMSN, $sEmail)
_MSN_ConvWinOpen($oMSN, $vContact)
_MSN_GetContactList($oMSN)
_MSN_MyFriendlyName($oMSN)
_MSN_MyEmail($oMSN)
_MSN_MyStatus($oMSN)
_MSN_SetStatus($oMSN, $iStatus)
_MSN_ContactIsBlocked($oContact)
_MSN_ContactBlock($oContact)
_MSN_ContactUnblock($oContact)
_MSN_ContactFriendlyName($oContact)
_MSN_ContactEmail($oContact)
_MSN_NumContacts($oList)
_MSN_ContactObjGetByIndex($oList, $iIndex)
_MSN_ContactRemove($oList, $oContact)
#ce
;returns an msn automation object
Func _MSN_Create()
$ret = ObjCreate("Messenger.UIAutomation.1")
If IsObj($ret) Then
Return $ret
Else
Return 0
EndIf
EndFunc ;==>_MSN_Create
;launches the Add Contact wizard. If an email adress is given, it skips the first page where the user is asked for the email address.
Func _MSN_ContactAdd($oMSN, $sEmail = '')
Return $oMSN.AddContact(0, $sEmail)
EndFunc ;==>_MSN_ContactAdd
;signs into msn. if no username and password are given, uses automatic sign in.
Func _MSN_SignIn($oMSN, $sUser = '', $sPass = '')
If $sUser <> '' And $sPass <> '' Then
Return $oMSN.Signin(0, $sUser, $sPass)
Else
Return $oMSN.AutoSignin()
EndIf
EndFunc ;==>_MSN_SignIn
;returns a contact object
Func _MSN_ContactObjGet($oMSN, $sEmail)
Return $oMSN.GetContact($sEmail, '')
EndFunc ;==>_MSN_ContactObjGet
;$vContact can be string or Contact object as returned by _MSN_ContactObjGet or _MSN_ContactObjGetByIndex.
;If $vContact is a string, it must be the email address of the person to message.
;returns a Window object
Func _MSN_ConvWinOpen($oMSN, $vContact)
Return $oMSN.InstantMessage($vContact)
EndFunc ;==>_MSN_ConvWinOpen
;returns a MessengerContacts object
Func _MSN_GetContactList($oMSN)
Return $oMSN.MyContacts
EndFunc ;==>_MSN_GetContactList
;Deprecated in Windows Messenger 5.0
Func _MSN_MyFriendlyName($oMSN)
Return $oMSN.MyFriendlyName
EndFunc ;==>_MSN_MyFriendlyName
;Deprecated in Windows Messenger 5.0
Func _MSN_MyEmail($oMSN)
Return $oMSN.MySigninName
EndFunc ;==>_MSN_MyEmail
;Deprecated in Windows Messenger 5.0
Func _MSN_MyStatus($oMSN)
Return $oMSN.MyStatus
EndFunc ;==>_MSN_MyStatus
;Deprecated in Windows Messenger 5.0
Func _MSN_SetStatus($oMSN, $iStatus)
$oMSN.MyStatus($iStatus)
EndFunc ;==>_MSN_SetStatus
;returns True or False
;$oContact is a Contact object as returned by _MSN_ContactObjGet or _MSN_ContactObjGetByIndex
Func _MSN_ContactIsBlocked($oContact)
Return $oContact.Blocked
EndFunc ;==>_MSN_ContactIsBlocked
;$oContact is a Contact object as returned by _MSN_ContactObjGet or _MSN_ContactObjGetByIndex
Func _MSN_ContactBlock($oContact)
$oContact.Blocked = True
EndFunc ;==>_MSN_ContactBlock
;$oContact is a Contact object as returned by _MSN_ContactObjGet or _MSN_ContactObjGetByIndex
Func _MSN_ContactUnblock($oContact)
$oContact.Blocked = False
EndFunc ;==>_MSN_ContactUnblock
;$oContact is a Contact object as returned by _MSN_ContactObjGet or _MSN_ContactObjGetByIndex
Func _MSN_ContactFriendlyName($oContact)
Return $oContact.FriendlyName
EndFunc ;==>_MSN_ContactFriendlyName
;$oContact is a Contact object as returned by _MSN_ContactObjectGet or _MSN_ContactObjGetByIndex
Func _MSN_ContactEmail($oContact)
Return $oContact.SigninName
EndFunc ;==>_MSN_ContactEmail
;$oList is the MessengerContacts object as returned by _MSN_GetContactList
Func _MSN_NumContacts($oList)
Return $oList.Count
EndFunc ;==>_MSN_NumContacts
;returns the Contact object of the contact in the specified index.
;(I am not sure wether the index is 0-based or 1-based....) 0 based on live by Framp
;$oList is the MessengerContacts object as returned by _MSN_GetContactList
Func _MSN_ContactObjGetByIndex($oList, $iIndex)
Return $oList.Item($iIndex)
EndFunc ;==>_MSN_ContactObjGetByIndex
;$oList is the MessengerContacts object as returned by _MSN_GetContactList
;$oContact is a Contact object as returned by _MSN_ContactObjGet or _MSN_ContactObjGetByIndex
Func _MSN_ContactRemove($oList, $oContact)
Return $oList.Remove($oContact)
EndFunc ;==>_MSN_ContactRemove
Test Code
Spoiler anzeigen
#include <msn_UDF.AU3>
[/autoit] [autoit][/autoit] [autoit]$MSN_Object = _MSN_Create ()
If $MSN_Object Then MsgBox(1,"","Error, MSN/WLM isn't running!")
MsgBox(64,"Windows Live Messenger/MSN Messenger Info","E-Mail Address: " & @TAB & _MSN_MyEmail($MSN_Object) & @CRLF & _
"Friendly Name: " & @TAB & _MSN_MyFriendlyName($MSN_Object) & @CRLF & _
"Status: " & @TAB & @TAB & _MSN_MyStatus($MSN_Object))
$ContactList = _MSN_GetContactList($MSN_Object)
$NumContacts = _MSN_NumContacts($ContactList)
MsgBox(64,"Windows Live Messenger/MSN Messenger Contacts","Number Of Contacts :" & @TAB & $NumContacts)
MsgBox(64,"","Open a random contact convers.")
$GetContact = _MSN_ContactObjGetByIndex($ContactList, Random(1,$NumContacts))
_MSN_ConvWinOpen($MSN_Object,$GetContact)
Rückmeldung wäre nett
mfg. Andi