3

私は単純なタスクを実行する Windows フォーム アプリケーションを作成しました。ユーザーがメイン フォームでビデオを選択すると、アプリケーションはそれを再現する Shockwave Flash オブジェクトを含む新しいフォームをポップアップ表示します。

私が今やりたいことは、ユーザーがマウス ホイールをスクロールしたときにムービー タイムラインを移動することです。問題は、Flash オブジェクトがポップアップするとすぐにフォームからフォーカスを奪い、マウスホイール イベントをサポートしていないことです。

ポップアップにフォーカスがあるときに MouseWheel イベントをフックしてアプリケーションにリダイレクトする以外に、それを行う方法はありますか?

4

1 に答える 1

2

Flash によって表示されるウィンドウは、別のプロセスによって所有されています。これにより、メッセージをいじるのは難しくなります。少なくとも、マウスメッセージが他のプロセスに消える前に表示するには、低レベルのマウスフックが必要です。

定型コードはこちらから入手できます。.NET 4 以降での動作を妨げるバグがあることに注意してください。回避策については、この回答を参照してください。

于 2012-10-20T18:39:44.140 に答える