Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all articles
Browse latest Browse all 7264

WinProcメッセージを別スレッドで受けたい

$
0
0
画像編集用のアプリをゲームパッドで操作する為、 パッド入力をwindows メッセージに送り、WndProcでこれを受けてみました。 しかし、大きな画像の入力や処理を受けると、負荷により、windows メッセージの受信が1秒程度固まり、その間の入力が消えてしまいます。 1秒のみなら待てばよいのですが、こういったプチフリーズが連続して発生する程度の負荷の高い編集を行いたい為、パッド入力がかなり無効化されてしまい、困っています。 例えば、WINDOWSフォームに設置したボタンなら、負荷が高い状態で押下しても、処理は後回しになりますが、取り急ぎ入力があったことだけは確実に受け付けられるので、負荷があるからと言って取り消されたりはしないようです。 少なくとも、上記、標準ボタンのように、負荷に関係なく、押した回数、確実にパッド入力を受けたいのですが、解決策として、別スレッドで、WndProc入力を受ければ、負荷の影響を受けずにキー入力を記録できるのではないかと思い検証したいと思っています。 しかし、当方、初心者なので、「Protected Overrides Sub WndProc」をバックグラウンドワーカーに入れたり、別スレッドで機能させたりする方法がどうもよくわかりません。 下記は、ソースを短くする為、取り急ぎ、マウス操作を受けるWndProc を用意したのですが、これを、 別スレッドで動かす方法をご教授いただけませんでしょうか? パッドの使用は絶対条件なのですが、確実に入力を受けられる方法であれば、代替案でも歓迎です。 Private Const WM_MOUSEMOVE As Long = &H200 Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_MOUSEMOVE Then Label1.Text = m.ToString End If MyBase.WndProc(m) End Sub どうかよろしくお願いいたします。

Viewing all articles
Browse latest Browse all 7264

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>