- ベストアンサー
'Alt+z'キーを押しながらマウスのドラッグを制御する方法
- VBで'Alt+z'キーを押しながらマウスのドラッグを制御するのがうまくいかなくて困っています。
- 実行すると実際には各ボタンは押されているようなのですが、手動でやるような動作をしないのです。
- どこか、問題個所はありますでしょうか?ご教授お願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VB6、Win2000で、デスクトップのアイコンを使って確認しましたが、特に問題なく動いているように見ます。 #Zキーは押されてなくても関係ない確認になっちゃってますが。 >VBで'Alt+z'キーを押しながらマウスのドラッグを制御するのがうまくいかなくて困っています。 > >実行すると実際には各ボタンは押されているようなのですが、手動でやるような動作をしないのです。 どんな動作をさせようとしているのでしょうか?Alt+Zのドラッグって標準では無いかと思うのですが。 >KEEVENTF_UPは2つのキーを押したままで >ドラッグしたいので、必要ないと思いますが >いかがでしょうか? あとからちゃんとUPしとかないと、ALTキーが押されっぱなしの状態になってるので、思いもしない動作をするかもしれません。 やりっぱなしはまずいですということですね。
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>クリックする座標はマウスのある場所で大丈夫ですので、 >このままで大丈夫だと思います。 確認なのですが、このプログラムというか、この箇所のコードはどのように実行しているのでしょうか? あとは、axとayの指定している値は正しいものが入っていますか? あと、keybd_eventでKEYEVENTF_KEYUPを指定している所が無いのは平気ですか?
補足
度々ありがとうございます。 プログラム自体はデスクトップ上のある座標に SetCusorPositonでマウスをセットし、 そこで2つのキーを押しながら、ドラッグするというものです。 ちなみに Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) の前までプログラムを実行するろ2つのキーが 押した状態になり、手動でドラッグすると、 2つのキーを押した状態でドラッグできます。 KEEVENTF_UPは2つのキーを押したままで ドラッグしたいので、必要ないと思いますが いかがでしょうか? ax,ayの値は思ったとおりにマウスが移動しますので、 特に問題ないと思います。 よろしくお願いいたします。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) の座標の指定が無い。
補足
taka_tesu様 ありがとうございます。 クリックする座標はマウスのある場所で大丈夫ですので、 このままで大丈夫だと思います。
補足
ご返信遅くなり大変申し訳ありません。 ALT+Zはあるビデオボードの制御で必要なんです。 KeyUpしてもうまくいかないです。 やっぱり無理なのでしょうか? お手数かけますが、よろしくお願いいたします。