我希望能够更改 Live Messenger 的状态消息,但我发现的所有内容仅适用于音乐消息(请参阅此屏幕截图以了解两者之间的区别)。
可以这样做,因为有些程序可以更改它,Live Messenger 的一些备用客户端也可以自己设置状态消息。我只需要自己知道如何做到这一点。
澄清:该解决方案需要使用最新版本的 Live Messenger(即 wave 3 beta)。使用旧版本也很好,但我正在使用的是 14.x 版本。
我希望能够更改 Live Messenger 的状态消息,但我发现的所有内容仅适用于音乐消息(请参阅此屏幕截图以了解两者之间的区别)。
可以这样做,因为有些程序可以更改它,Live Messenger 的一些备用客户端也可以自己设置状态消息。我只需要自己知道如何做到这一点。
澄清:该解决方案需要使用最新版本的 Live Messenger(即 wave 3 beta)。使用旧版本也很好,但我正在使用的是 14.x 版本。
当然,在任何对话窗口中,一个简单的“ /psm new message
”都会更新消息状态字段。
但以编程方式:
您将在此处找到一个VB 源文件,该文件向您的 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
您可以通过您的 MSN MsgPlus进行安装,这将为您提供一个 API 以通过 MSN 进行编程。然后,您可以创建一个脚本来调用您的程序或调用 MSN 的程序。
没有编程方式来设置适用于包括 Live Wave 3 在内的版本的 Live Messenger 状态消息。
克里斯,如何以编程方式设置音乐信息?
您可能会使用 Windows API 函数来模拟用户输入。