flash的屏幕保护程序(100分)

  • 主题发起人 主题发起人 easty
  • 开始时间 开始时间
E

easty

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi做一个播放flash的屏幕保护程序,用flash的activex控件。当flash全屏播
放时,怎样才能捕捉到鼠标移动和键盘事件?
望各位高手相助!
谢谢!
 
我想了一下:解决方法是想办法获得ShockwaveFlash对象的句柄,然后用一个HOOK钩住它,从而达到拦截
Flash上的一切鼠标键盘活动。因为在Flash播放当中,其默认的鼠标键盘事件其实只有一个就是右键菜单
的弹出,只要截获WM_RBUTTONDOWN(或者NM_RCLICK)消息,就可以完全控制它,甚至加入自己的响应事件。
关于HOOK的制作我就不多言了,源码也好,控件也好已经很多了!你自己找找!
我下面只是想说说如何获得ShockwaveFlash对象句柄的问题。
因为ShockwaveFlash根本没有直接提供对象句柄,所以要获得其句柄,只有通过获得该对象中某点的坐标,
然后用WindowFromPoint函数获得该点所在窗口的句柄来实现。因为你是全屏播放所以难度一下子降低很多,
从屏幕上随意选取一点坐标即可!
示例过程如下:
YourFlashHandle:=WindowFromPoint(x,y);
YourHOOK.HwndHOOK:=YourFlashHandle;
IF YourHOOK.Message(WM_RBUTTONDOWN)=TRUE THEN '你想要做的事'
 
我有一个段HOOK的源程序, qq:15405747
 
多人接受答案了。
 
后退
顶部