Not sure if your problems have already been resolved, but I did get my solution for this problem working recently. First I tell VLC what I want the window to be named:
After that you can use the name to get the handle to the window:
Code: Select all
handleVLC = FindWindow(NULL, "directxVLC");
With the handle you can pretty much do anything you want to the window. For this specific problem you probably want to replace its wndProc with your own:
Code: Select all
oldWndProc = (WNDPROC)SetWindowLongPtr(handleVLC, GWLP_WNDPROC, (LONG_PTR)WndProc);
In that code "oldWndProc" is the proc originally used by the window. You need to keep track of this so that you can send it all of the messages you do not want to process (like paint messages).
After that you can process all of the window's messages. But, I will mention that for me the mouse messages were all hidden inside of the LPARAM of WM_MOUSEACTIVATE messages. Also note that the WM_MOUSEACTIVATE message is special, if you do not want the mouse clicks to be processed by any other code make sure you return the appropriate value.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
This is more the non vlc solution, which I went with because I could not personally get libvlc_media_player_set_hwnd to work. Hope it helps.