※ ChatGPTを利用し、要約された質問です(原文:キーを押しながらマウスをドラッグする動作を制御する方法)
キーを押しながらマウスをドラッグする動作の制御方法
このQ&Aのポイント
VBで'Alt+z'キーを押しながらマウスのドラッグを制御する方法について困っています
具体的には、実行してもキーの押下は認識されるが、手動でドラッグするような動作ができない状態です
プログラム中のmouse_event関数でキーのイベントをキャンセルしてしまっている可能性があります
キーを押しながらマウスをドラッグする動作を制御する方法
お世話になっております。
VBで'Alt+z'キーを押しながらマウスのドラッグを制御するのがうまくいかなくて困っています。
実行すると実際には各ボタンは押されているようなのですが、手動でやるような動作をしないのです。
ちなみに
(1)のCall mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
の前までプログラムを実行すると2つのキーが
押した状態になり、手動でドラッグすると、
2つのキーを押した状態でドラッグできます。
mouse_eventでキーのイベントをキャンセルしてるようです。
どこか、問題個所はありますでしょうか?ご教授お願い致します。
Private Const VK_Z = 90 'Zキー
Private Const MOUSE_MOVED = &H1
Private Const MOUSEEVENTF_LEFTUP = &H4 '左ボタンUP
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Call keybd_event(&H12, 0, 0, 0)'Altキー押下
Call keybd_event(VK_Z, 0, 0, 0)'Zキー押下
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)・・・(1)
'マウス左ボタン
Call mouse_event(MOUSE_MOVED, ax, ay, 0, 0)
'ボタンを押したまま移動
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
'ボタンを解除
お礼
taka_tetsuさん、たびたびのご回答本当にありがとうございます。 上記の件ですが、keybd_eventの後に、時間間隔を2秒ほど開けたら無事できました!! ご迷惑かけました。本当にありがとうございました。