2

Live Messenger のステータス メッセージを変更できるようにしたいのですが、見つかったものはすべて音楽メッセージでしか機能しません (このスクリーンショットを参照して、2 つの違いを確認してください)。

それを変更する機能を持つプログラムがあり、Live Messenger の一部の代替クライアントもステータス メッセージ自体を設定できるため、これを行うことができます。私はこれを自分で行う方法を知る必要があります。

明確化:このソリューションは、Live Messenger の最新バージョン (つまり、wave 3 ベータ版) で動作する必要があります。古いバージョンで作業するのも良いですが、私が作業しているのは 14.x バージョンです。

4

5 に答える 5

1

MSN 経由でプログラムするための API を提供するMSN MsgPlus 経由でインストールできます。次に、プログラムを呼び出すスクリプトまたは MSN を呼び出すプログラムを作成できます。

于 2008-11-08T14:19:34.607 に答える
1

もちろん、どの会話ウィンドウからでも、単純な " /psm new message" でメッセージ ステータス フィールドが更新されます。

しかし、プログラム的に

ここには、Live Messenger ウィンドウの PSM (Personal Satus Message) に新しいメッセージを送信したVB ソース ファイルがあります。それが役立つかもしれません。

エキス:

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
于 2008-11-08T12:43:21.430 に答える
1

クリス、プログラムで音楽メッセージを設定する方法は?

于 2010-04-23T16:34:45.850 に答える
1

Live Wave 3 を含むバージョンで動作する Live Messenger ステータス メッセージをプログラムで設定する方法はありません。

于 2009-02-12T23:08:43.290 に答える
0

Windows API関数を使用してユーザー入力をシミュレートするという、厄介な回避策を講じることができます。

于 2009-05-14T09:40:42.623 に答える