teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答を追記

2019/05/02 06:02

投稿

atata0319
atata0319

スコア881

answer CHANGED
@@ -1,4 +1,8 @@
1
1
  いろいろ調べてみましたが、BlueStacks はハイパーバイザー(Intel VT 等を使用するソフトウェアのこと)であるため、マウスやキーボードをパススルー(ドライバのやりとりを直接処理する)処理し、 Win32 Subsystem から送信されるマウスやキーボードメッセージを処理していない可能性があります。
2
2
  SendInput は呼び出し元スレッドが所属するデスクトップの Win32 Subsystem に対してマウスとキーボードにメッセージをポストし、その後、Win32 Subsystem がメッセージを振り分けるウィンドウを判断して該当ウィンドウを保持するスレッドにメッセージをポストします。BlueStacks がこのポストされるメッセージを無視しているのであれば、SendInput では対処しようがありません。
3
3
 
4
- 別の可能性として nProtect のようなアンチハックソフトによって、SendInput で送信されるメッセージを除外している可能性もあるかと思います。この場合、該当ソフトの処理を見破らなければ、SendInput で送るのは難しいかと思います。
4
+ 別の可能性として nProtect のようなアンチハックソフトによって、SendInput で送信されるメッセージを除外している可能性もあるかと思います。この場合、該当ソフトの処理を見破らなければ、SendInput で送るのは難しいかと思います。
5
+
6
+ ---
7
+
8
+ 上記が正しいとすれば、ソフトウェアで解決するよりマウスやキーボードを自作する方が手っ取り早いです。最近は自作キット等も市販されていますので・・・。