Contributors > Official Scripting Documentation
Skip Navigation Links.
Introduction to Scripting
Collapse Getting StartedGetting Started
What's a Messenger Plus! Script?
Scripting Environment
Your First Script
Collapse Working with ScriptsWorking with Scripts
From Plugins to Scripts
Packaging your Script
Windows for your Script
Testing your Windows
Collapse Objects ReferenceObjects Reference
Collapse Debug ObjectDebug Object
Description
Collapse FunctionsFunctions
Trace
ClearDebuggingWindow
Collapse PropertiesProperties
DebuggingWindowVisible
Collapse Messenger ObjectMessenger Object
Description
Collapse FunctionsFunctions
AutoSignin
Signout
OpenChat
Collapse PropertiesProperties
Version
VersionBuild
ContactListWndHandle
CurrentChats
ReceiveFileDir
MyContacts
MyEmail
MyUserId
MyStatus
MyName
MyPersonalMessage
MyCurrentMedia
MyDisplayPicture
CustomEmoticons
Collapse MsgPlus ObjectMsgPlus Object
Description
Collapse FunctionsFunctions
DisplayToast
DisplayToastContact
CreateWnd
CreateChildWnd
AddTimer
CancelTimer
PlaySound
LockMessenger
LogEvent
RemoveFormatCodes
DownloadFile
UploadFileFTP
LoadScriptFile
ExtractFromZIP
Collapse PropertiesProperties
Version
VersionBuild
ScriptRegPath
ScriptFilesPath
MessengerIsLocked
UILangCode
Collapse ChatWnds ObjectChatWnds Object
Description
Collapse FunctionsFunctions
Iterator
Collapse PropertiesProperties
Count
Collapse ChatWnd ObjectChatWnd Object
Description
Collapse FunctionsFunctions
SendMessage
SendFile
AddContact
DisplayInfoMessage
ResetInfoMessage
EditText_GetCurSelStart
EditText_GetCurSelEnd
EditText_SetCurSel
EditText_ReplaceSel
HistoryText_GetCurSelStart
HistoryText_GetCurSelEnd
HistoryText_GetTextRange
Collapse PropertiesProperties
Handle
Contacts
EditText
EditChangeAllowed
ChatLogEnabled
OverrideFmtEnabled
IsMobileChat
Collapse Contacts ObjectContacts Object
Description
Collapse FunctionsFunctions
Iterator
GetContact
Collapse PropertiesProperties
Count
Collapse Contact ObjectContact Object
Description
Collapse PropertiesProperties
Email
Network
Status
Name
PersonalMessage
CurrentMedia
Blocked
DisplayPicture
IsFloating
Collapse Emoticons ObjectEmoticons Object
Description
Collapse FunctionsFunctions
Iterator
GetEmoticon
Collapse PropertiesProperties
Count
Collapse Emoticon ObjectEmoticon Object
Description
Collapse PropertiesProperties
Shortcut
Name
PictureFile
Collapse PlusWnd ObjectPlusWnd Object
Description
Collapse FunctionsFunctions
Close
RegisterMessageNotification
GetControlHandle
SendControlMessage
GetControlText
SetControlText
GetElementPos
Collapse Button and Checkmark ControlsButton and Checkmark Controls
Button_IsChecked
Button_SetCheckState
Button_SetElementText
Collapse ComboBox ControlsComboBox Controls
Combo_AddItem
Combo_RemoveItem
Combo_GetCurSel
Combo_SetCurSel
Combo_GetItemData
Combo_GetCount
Collapse ListBox ControlsListBox Controls
LstBox_AddItem
LstBox_GetItemText
LstBox_RemoveItem
LstBox_GetCurSel
LstBox_SetCurSel
LstBox_GetItemData
LstBox_GetCount
Collapse ListView ControlsListView Controls
LstView_AddItem
LstView_SetItemText
LstView_GetItemText
LstView_RemoveItem
LstView_GetItemData
LstView_GetCount
LstView_GetSelectedState
LstView_SetSelectedState
LstView_GetCheckedState
LstView_SetCheckedState
LstView_SetItemIcon
Collapse Edit and RichEdit ControlsEdit and RichEdit Controls
EditBox_SetCurSel
EditBox_ReplaceSel
EditBox_GetCurSelStart
EditBox_GetCurSelEnd
RichEdit_GetTextRange
RichEdit_SetCharFormat
Collapse Browser ControlsBrowser Controls
Browser_GetInterface
Collapse Image ElementsImage Elements
ImageElmt_SetImageFile
Collapse PropertiesProperties
Handle
Visible
WindowId
Collapse Interop ObjectInterop Object
Description
Collapse FunctionsFunctions
Call
Call2
FreeDll
GetLastError
Allocate
GetCallbackPtr
Collapse DataBloc ObjectDataBloc Object
Description
Collapse FunctionsFunctions
GetAt
SetAt
ReadString
WriteString
ReadBSTR
WriteBSTR
ReadWORD
WriteWORD
ReadDWORD
WriteDWORD
ReadInterfacePtr
WriteInterfacePtr
Collapse PropertiesProperties
Size
DataPtr
Collapse Events ReferenceEvents Reference
Collapse Messenger EventsMessenger Events
OnEvent_Signin
OnEvent_SigninReady
OnEvent_Signout
OnEvent_MyStatusChange
OnEvent_MyNameChange
OnEvent_MyPsmChange
OnEvent_MyMediaChange
OnEvent_ContactSignin
OnEvent_ContactSignout
OnEvent_ContactStatusChange
OnEvent_ContactNameChange
OnEvent_ContactPsmChange
OnEvent_ContactMediaChange
OnEvent_ContactBlocked
OnEvent_ContactUnblocked
OnEvent_ContactListWndCreated
OnEvent_ContactListWndDestroyed
OnEvent_ChatWndCreated
OnEvent_ChatWndDestroyed
OnEvent_ChatWndContactAdded
OnEvent_ChatWndContactRemoved
OnEvent_ChatWndReceiveMessage
OnEvent_ChatWndSendMessage
OnEvent_ChatWndEditKeydown
Collapse Messenger Plus! EventsMessenger Plus! Events
OnEvent_Initialize
OnEvent_Uninitialize
OnEvent_MessengerLocked
OnEvent_MessengerUnlocked
OnEvent_Timer
OnEvent_MenuClicked
OnEvent_EnterPersonalizedStatus
OnEvent_LeavePersonalizedStatus
OnEvent_DownloadFileComplete
OnEvent_UploadFileComplete
OnGetScriptMenu
OnGetScriptCommands
Collapse Events TemplatesEvents Templates
ScriptsCommandTemplate
ToastCallbackTemplate
Collapse Interface Windows EventsInterface Windows Events
OnWindowidEvent_Cancel
OnWindowidEvent_Destroyed
OnWindowidEvent_MessageNotification
OnWindowidEvent_CtrlClicked
OnWindowidEvent_ComboSelChanged
OnWindowidEvent_EditTextChanged
OnWindowidEvent_LstBoxSelChanged
OnWindowidEvent_LstBoxDblClicked
OnWindowidEvent_LstViewClicked
OnWindowidEvent_LstViewRClicked
OnWindowidEvent_LstViewDblClicked
OnWindowidEvent_LstViewSelStateChanged
Collapse XML Schemas ReferenceXML Schemas Reference
Collapse ScriptInfo FileScriptInfo File
Information
Examples
Schema Documentation
Collapse Interface WindowsInterface Windows
Information
Examples
Schema Documentation
Interface Windows Reference
Messenger Plus! Live - Scripting Documentation

Interface files are used to display windows in your script, they act like resource files adapted for Messenger. They are not particularly complicated to understand, however, they contain a lot of different kinds of objects and attributes and some of them will not even be of any use to your scripts. The end result will be worth the trouble though as you won't need to create external DLLs to display your windows and you'll benefit from the current look of Windows Live Messenger as well as possible future updates. Your script will be guaranteed to appear just like any other Messenger Plus! window.

The Schema file for Interface Windows can be temporarily placed in your script's directory to validate your XML files. However, the schema must not be redistributed with your script (it would only be dead weight anyway). Here is how to write the first element of your XML file to make your XML editor aware of the schema file:

<Interfaces xmlns="urn:msgplus:interface"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="urn:msgplus:interface PlusInterface.xsd">
    <Window>...</Window>
</Interfaces>

It is good practice to always link your xml files to their respective schemas to prevent any possible run time error caused by an error in your XML. XML files tend to grow rapidly and you'll soon be thankful for the validation layer brought by the schema file.

The best examples you can get for interface window files are probably the windows of Messenger Plus! itself. Those files can easily be extracted with a resource viewer tool such as Resource Tuner. Just open the "MsgPlusLiveRes.dll" file you'll find in the main directory of Messenger Plus! (by default: "C:\Program Files\Messenger Plus! Live") and get the files from the "Interfaces" section. It is important to remember that the interface files were created for both Messenger Plus! and the scripting system. This means that some attributes or elements may prove to be useless for your scripts. Additional support for missing pieces are added on a per-request basis.

If your XML Editor does not come with graphical browsing of the schema file, you can view a documentation generated by XMLSpy in the Interface Windows Schema Documentation (some information may be missing in this documentation). Some elements of the file are also explained in details in Windows for your Script.

See Also

Interface Window Schema File, Schema Documentation, Examples.