arman68
30th December 2003, 16:36
I am trying to control DirectVobSub externally to disable, enable and change subtitles. I have tried sending the function keys F13-F17 in various ways with no success.
Is there any entry point to VSFilter which I could use for that purpose?
Kaiousama
30th December 2003, 20:08
So do i have the same question, i've tried to control VSFilter from external applications but i don't know how to access to its methods and properties.
Thanks
arman68
5th January 2004, 23:25
In SysTray.cpp I have found this:
LRESULT CALLBACK HookProc(UINT code, WPARAM wParam, LPARAM lParam)
{
MSG* msg = (MSG*)lParam;
if(msg->message == WM_KEYDOWN)
{
switch(msg->wParam)
{
case VK_F13: PostMessage(HWND_BROADCAST, WM_DVSPREVSUB, 0, 0); break;
case VK_F14: PostMessage(HWND_BROADCAST, WM_DVSNEXTSUB, 0, 0); break;
case VK_F15: PostMessage(HWND_BROADCAST, WM_DVSHIDESUB, 0, 0); break;
case VK_F16: PostMessage(HWND_BROADCAST, WM_DVSSHOWSUB, 0, 0); break;
case VK_F17: PostMessage(HWND_BROADCAST, WM_DVSSHOWHIDESUB, 0, 0); break;
default: break;
}
}
// Always call next hook in chain
return CallNextHookEx(g_hHook, code, wParam, lParam);
}
F13 to F17 seem to be properly defined; I am not sure why I cannot get it to work.
What I have found though is one of the Remote Wonder plugins that can control DVobSub does the following:
// Get DirectVobSub window
HWND hDVS = FindWindow(NULL, "DVSWND");
(...)
case RMCTRL_UP:
if (hDVS)
{
PostMessage(hDVS, RegisterWindowMessage(TEXT("WM_DVSPREVSUB")), 0, 0);
}
return TRUE;
case RMCTRL_DOWN:
if (hDVS)
{
PostMessage(hDVS, RegisterWindowMessage(TEXT("WM_DVSNEXTSUB")), 0, 0);
}
return TRUE;
Any way to do something similar from a Windows Script?
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc.