如何以编程方式设置Live Messenger的状态消息?

时间:2008-11-08 12:28:25

标签: status-message

我希望能够更改Live Messenger的状态消息,但我发现的所有内容仅适用于音乐消息(请参阅this screenshot以查看两者之间的区别)。

可以这样做,因为有些程序可以更改它,Live Messenger的一些备用客户端也可以自己设置状态消息。我只需要知道如何自己做。

澄清:该解决方案需要使用最新版本的Live Messenger(即wave 3 beta)。使用旧版本也很好,但它是我正在使用的14.x版本。

5 个答案:

答案 0 :(得分:1)

当然,在任何对话窗口中,简单的“/psm new message”都会更新邮件状态字段。

以编程方式

你会在这里找到一个VB source file,它向你的Live Messenger窗口的PSM(个人信息消息)发送了一条新消息。可能会有所帮助。

提取物:

Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_COMMAND = &H111
Private Const WM_CHAR = &H102
Private Const VK_RETURN = &HD

Private Function SetPSM(ByVal text As String) As Boolean
   Dim hParentWnd, hChildWnd As Long
   SetPSM = False
   hParentWnd = FindWindow("MSBLWindowClass", vbNullString)
   If hParentWnd <> 0 Then
      hChildWnd = FindWindowEx(hParentWnd, 0, "DirectUIHWND", vbNullString)
      If hChildWnd <> 0 Then
         PostMessage hParentWnd, WM_COMMAND, 56606, 0
         Dim i As Integer
         For i = 1 To Len(text)
            Call PostMessage(hChildWnd, WM_CHAR, Asc(Mid$(text, i, 1)), 0)
         Next i
         PostMessage hChildWnd, WM_CHAR, VK_RETURN, 0
         SetPSM = True
      End If
   End If
End Function

Private Sub cmdSetPSM_Click()
   SetPSM txtPSM.text
End Sub

答案 1 :(得分:1)

您可以安装MSN MsgPlus,它将为您提供API以通过MSN进行编程。然后,您可以创建一个调用程序的脚本或调用MSN的程序。

答案 2 :(得分:1)

没有以编程方式设置Live Messenger状态消息,该消息适用于包含Live Wave 3的版本。

答案 3 :(得分:1)

Chris,如何以编程方式设置音乐消息?

答案 4 :(得分:0)

您可能会使用Windows API函数来模拟用户输入,从而进行混乱的解决方法。