일부 윈도우 (내 경우에는 VLC 플레이어 창)에서 보낸 WM_SETTEXT와 같은 Windows 시스템 메시지를 어떻게 트래핑 할 수 있습니까? 나는이 같은 NativeWindow 클래스를 상속 된 WndProc를 재정의 시도했다 :.NET에서 메시지 트래핑
내가 WM_SETTEXT 메시지가 VLC 플레이어에서 보낸하지만 내 코드는 작업을 완수하는 것 같지 않습니다 마이크로 소프트 스파이 ++로 확인했다class VLCFilter : NativeWindow
{
System.IntPtr iHandle;
const int WM_SETTEXT = 0x000C;
public VLCFilter()
{
Process p = Process.GetProcessesByName("vlc")[0];
iHandle = p.MainWindowHandle;
}
protected override void WndProc(ref Message aMessage)
{
base.WndProc(ref aMessage);
if (aMessage.HWnd != iHandle)
return false;
if (aMessage.Msg == WM_SETTEXT)
{
MessageBox.Show("VLC window text changed!");
}
}
}
. 나는 주로 다음을 참고했다 : http://www.codeproject.com/kb/dotnet/devicevolumemonitor.aspx
나는이 작품을 성공시키지 않으려 고 노력하고있다. 내가 도대체 뭘 잘못하고있는 겁니까? 내가 뭘하고 있는거야? 어쩌면 이렇게 쉬운 방법이 있을까요?
나의 초기 목표는 VLC 플레이어 (백그라운드에서 재생할 수 있고 응용 프로그램에서 emmbed되지 않음)가 재생을 반복 할 때를 잡는 것입니다 (WM_SETTEXT 메시지가 전송 된 것을 발견하고이를 찾으려고합니다.) 이런 식으로).
좋은 점;) –