検索結果 8 件

by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

無事解決しました。ありがとうございました。
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

マウスボタンのアップダウンだけではクリックかどうか分からないので、クリックをひとつのイベントとして送受信する必要がある。 受信側でクリックは、システムの設定を読み取り、その間隔以内(早すぎてもいけない)でマウスボタンダウン→マウスボタンアップを行う。 というふうにしなければいけないと思います。 前者の場合にしてクリックを実装することができました。しかし、不可解なことがあります。 まずクリックについて,下のコードは問題のないコードです。 POINT now_position; GetCursorPos(&now_position); INPUT mouse_info; mouse_info.t...
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

たしかにそうですね。一つ一つの機能を確認していきたいと思います。

またわからないことがあったら掲示板を利用させてもらいます。

返答ありがとうございました。
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

すみません、書き忘れてましたが、たしかに送信側のWM_LBUTTONDOWNについては不安な点があったのでメッセージのLPARMの30bit目で判断して押した時と離した時はそれぞれ一回ずつ送っていました。

そこでコードにもあるように受信側が受信データを元にマウスのクリック状態をフラグに格納していました。
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

たいしかに送信側での今の仕様だと、クリックはイベントが起きて送信はいいですが、マウス移動については常に200ms毎に座標を送ります。これは改善したほうがいいかもしれません。

返答ありがとうございました。

加えて、これまでのテストの結果マウスの不安定要素は以下のとおりです。
1.リアルタイムにクリックされない(クリックデータのみ遅れて受信されたりしているので送信側の問題?)
2.アプリケーションを閉じた後、左クリックが押せなくなる。
3.アプリケーションを閉じた後、一定時間(10秒くらい)右クリックが連打される

1はただのバグだと思いますが、2,3については目星がつかない状況です。
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

たしかに、そうですね。秒間60回更新はあきらめることにします。 SendInput()を使うにしたがって不安があるのでお聞きしてもよろしいでしょうか。現時点でのコードを概略で書くとこんなかんじです。 //受信スレッド----------------- next_point = /*(受信座標x, 受信座標y)*/; //200ms秒ごとにおくられてくる座標 isLButton = true; //左クリックを押した情報がきたら isRButton = true; //右クリックを押した情報がきたら isLButton = false; //左クリックを押した情報がきたら isRButton =...
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

いえ、LAN内の通信ではありません。200ms間隔にマウス座標を送り、その間は受信側がマウス座標を補完して直線上に進めています。なのでマウスの座標を移動させるのは一秒間に60回ということです。

ということは、SendInput()をつかうにしろメッセージを送るにしろ無理ということでしょうか。

リアルタイムにマウスを動かすのはこの方法しか見つからなかったんです。
(リモートデスクトップ等のソフトはもっと低レベル層で操作している?)
by turkey
12年前
フォーラム: C言語何でも質問掲示板
トピック: マウスのプログラム制御方法について(winAPI-C)
返信数: 22
閲覧数: 9998

Re: マウスのプログラム制御方法について(winAPI-C)

このプログラムは他のPCを遠隔操作するプログラムですのでマウスを移動させるのとクリックがないといけないです。

詳細検索ページへ移動する