2008-11-08 2 views
2

라이브 메신저에 대한 상태 메시지를 변경할 수 있기를 원하지만 발견 한 모든 것은 음악 메시지에서만 작동합니다 (차이점은 this screenshot 참조).Live Messenger에 대한 상태 메시지를 프로그래밍 방식으로 설정하려면 어떻게해야합니까?

변경할 수있는 프로그램이 있으므로 라이브 메신저의 일부 대체 클라이언트에서 상태 메시지를 직접 설정할 수도 있으므로이 작업을 수행 할 수 있습니다. 나는이 일을 스스로하는 법을 알 필요가있다.

설명 : 해결책은 최신 버전의 라이브 메신저 (예 : 웨이브 3 베타)에서 작동해야합니다. 이전 버전으로 작업하는 것도 좋지만, 제가 작업하고있는 14.x 버전입니다.

답변

1

라이브 웨이브 3

1

물론 모든 대화 창에서 간단한 "/psm new message"은 메시지 상태 필드를 업데이트합니다.

그러나 프로그램:

당신은 여기 라이브 메신저 윈도우의 PSM (개인 Satus 메시지)에 새 메시지를 보낸 VB source file을 찾을 수 있습니다. 그게 도움이 될지도 몰라.

추출물 :

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 
+0

/psm "트릭"이 작동하지 않습니다. 14.0.5027.908 (현재 공개 베타 버전)에서 시험해 보았습니다. –

+0

마찬가지로 코드도 마찬가지입니다. FindWindow는 MSBLWindowClass에 대해 0을 반환합니다. –

+0

완벽하게 작동 8.5.1302.1016 – VonC

1

당신은 당신에게 MSN을 통해 프로그래밍 할 수있는 API를 줄 것이다 당신의 MSN MsgPlus을 통해 설치할 수 있습니다. 그런 다음 MSN을 호출하는 프로그램이나 프로그램을 호출하는 스크립트를 만들 수 있습니다.

+0

나는 크래프트가 말하지 않고 할 수있는 일을하기 위해 써드 파티 크래프트 (third party cruft)로 프로그램을 완성하지 않을 것이다. 그렇게하는 것은 전적으로 무책임한 행위입니다. –

0

당신은 아마도 사용자 입력을 시뮬레이션하기 위해 창문 API 함수를 사용하여 지저분한 해결 방법에 대해 갈 수 포함 버전에서 작동 라이브 메신저 상태 메시지를 설정하는 어떤 프로그램 방법은 없습니다.

1

Chris, 프로그래밍 방식으로 음악 메시지를 설정하는 방법?

관련 문제