我希望能够更改Live Messenger的状态消息,但我发现的所有内容仅适用于音乐消息(请参阅this screenshot以查看两者之间的区别)。
可以这样做,因为有些程序可以更改它,Live Messenger的一些备用客户端也可以自己设置状态消息。我只需要知道如何自己做。
澄清:该解决方案需要使用最新版本的Live Messenger(即wave 3 beta)。使用旧版本也很好,但它是我正在使用的14.x版本。
答案 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函数来模拟用户输入,从而进行混乱的解决方法。