• ベストアンサー

キーボードでポインタの位置を決める

C言語を用いて、プログラミングを行っています。 マウスのように、キーボードで x, y座標を入力し、 その座標にカーソルが移動するようにしたいのですが、 座標情報をどのように処理すれば、カーソルの位置が移動してくれるのかわかりません。 恐れ入りますが、どなたかご教授いただけないでしょうか。

  • alrai
  • お礼率66% (12/18)

質問者が選んだベストアンサー

  • ベストアンサー
  • sygh
  • ベストアンサー率76% (42/55)
回答No.2

Windowsで動けばいいのであれば、 #include <windows.h> して、No.1さんの提示された SetCursorPos()関数をコールしてください。

その他の回答 (1)

回答No.1

目的の動作はC言語の仕様では定義されていない内容です。 カーソル位置などはプログラムの実行環境に依存しているため、どういう環境でプログラムを作成し、 どういう環境で実効するかの情報がないと適切な回答を行うことができません。 ちなみにMS-Windowsなら BOOL SetCursorPos( int X, // 水平位置 int Y // 垂直位置 ); という関数を使用すればマウスカーソルの位置を変更することができます。

alrai
質問者

補足

回答ありがとうございます。 C言語では定義されていないのですね。 残念です。 実行環境は、実装ファイル作成環境のことでしょうか? プログラム作成は、MicrosoftのVisual C++ 2008 Express Editionで行っています。 システムは、Microsoft Windows XP Professional Version 2002を使用しています。

関連するQ&A

  • 入力中カーソルがマウスポインタの場所に移動して困り

    東芝L35のテンキーつきのキーボードで入力をしています。 多分Yキーを急いで打つたりするとそうなると思うのですが、 今まであったカーソルの位置が、 急にマウスポインタの位置まで移動してしまいます。 これはどう言うことでしょうか?

  • マウスポインターの移動をキーボードでするには?

    マウスポインターの位置をキーボードのキーに設定して、あるキーを押すとマウスポインターがモニターのこの場所に、違うキーを押すと瞬間にあらかじめ設定しておいた別の位置に移動するようなことで来ますか?又そのときマウスの左クリックを押すのと同じ事が、キーボードできるようになることは出来ますか? コンサートのチケットを取るときにいつも5箇所ぐらいマウスポインターを移動して、クリックしているもので、上記のようなことが出来たら早く入力できそうなので?解かる方教えてください。

  • C言語でのマウスを移動とマウスクリック

    C言語で指定の座標にマウスを移動させクリックさせるにはどうすれば良いでしょうか? 例えばX=200,Y=200にマウスを移動させクリックさせるにはどのようなコードを書けば良いでしょうか? 以上、宜しくお願い致します。

  • マウスポインタ 決まった位置へ 移動

    win10を使っています。 マウスポインタを登録した座標(毎回同じ場所)に簡単に移動させることはできませんか? ゲーミングキーボードを使っていますが、登録したキーを押すとマウスポインタが登録した場所に移動する様な事がしたいです。 その他にも何か良い方法がありましたら教えてください。

  • キーボードに指定位置のクリックを割り当てる方法を探しています。

    キーボードに指定位置のクリックを割り当てる方法を探しています。 例えば、「キーボードのAを押すと座標(○○,○○)をクリックする」というように、 キーボードに指定位置のマウスクリックを割り当てるツール、もしくは方法を知りたいです。 よろしくお願いいたします。

  • マウスポインタ

    現在、ノートパソコン(winXP)を使っています。 そこで、タッチパッド(キーボード上のマウス操作板?)を無効にしたいのですがどうしたらよいでしょうか? キーボード入力中に指が触れることで、カーソルが移動するのを解消したいのです。 どうしたらよいでしょうか??

  • 今DirectXでゲームを作っているのですが、どうしても実装できないこ

    今DirectXでゲームを作っているのですが、どうしても実装できないことがあります。 マウスカーソルの近くにある物体をスピードを落としながら話していくという仕様なのですが、ベクトルを使っての実装ができません。どうかわかる方がいましたら回答お願いします。 pV1.x;//マウスカーソルのx座標 pV1.y;//マウスカーソルのy座標 pV2.x;//物体のx座標 pV2.y;//物体のy座標 pOut1.x;//物体のx座標からマウスカーソルのx座標を引いた値 pOut1.y;//物体のy座標からマウスカーソルのy座標を引いた値 D3DXVec2Subtract(&pOut1,&pV2,&pV1);//pV2ベクトルからpV1ベクトルを引いてpOut1に格納する float VecLength=D3DXVec2Length(&pOut1);//pOut1ベクトルの大きさをVecLengthに格納する vecPosition.x=/*ここがわかりません*/ vecPosition.y=/*ここがわかりません*/

  • 位置ベクトルの考え方

    位置ベクトルの考え方でよく分からない点があります。 例えば点O(0,0)を原点とする座標平面があって、点A(2,2)はOからx軸方向へ2、y軸方向へ2移動したものです。 ベクトルは向きと大きさで定義されますよね。 なので座標を定めるという行為は、向きと大きさを決めるということだと思っています。 (x,y軸方向へどれくらい動かすかを決めると、自動的にOからどの方向にどれくらいの大きさの矢印が伸びるかが決まるから) これがベクトルを定めると(x,y軸方向へどれくらい動かすかを決めて向きと大きさを決めると)、点の位置が定まる(座標が決まる)ということですよね? また、始点は原点ではなくてもいいんですよね? ということは点X(1,1)を始点として、点A(2、2)は始点Xからx軸方向へ1、y軸方向へ1移動した点、つまり点Xに関する点Aの位置ベクトルと考えていいということでしょうか? もしこうでない場合、どう考えるのでしょう? 質問の要点は、 (1)私の位置ベクトルの解釈の正しさ(おかしい部分があれば指摘していただけるととても嬉しいです) (2)始点の取り方について この2つです。 よろしくお願いします!

  • キーボード入力により、ポインタを移動可能なソフトご存じないですか?

    XP Pro SP3を使っています。 自分、PCはたいていショートカットキーでアプリを終了させたりコピペしたり、ファイルを複数選択させています。 なので、ポインタを移動させるさい、 マウスを使うよりも、キーボードを押すほうが、早く作業できるのなら、 マウス使わずに、PCを操作したいと思っています。 ((Lenovoのノーパなので)トラックポイントを動かせば、マウス使わずにすむのですが、 速さてきに、マウスをつかったときとあまり変わりません。 また、tabキーを多多用するのも1つの手ですが、 webformの記入時など、ここでタブを押すと、次にどこへフォーカスがうつるかわからず、 それで時間をくってしまいます。 そういったわけで、表題の通りですが、 //----------------------------------------------------------- キーボード入力により、ポインタを移動させたい。 //----------------------------------------------------------- を満たすフリーソフト(言語問わず)はありませんでしょうか? viみたいに、ラクに操作できるといいのですが。。。 //----------------------------------------------------------- 自分、プログラミングができないことはないので、 そういったソフトを自作することも1つの手ですが、 すでにそういうことをしている人がいるだろうなとおもい 質問させていただいた次第です。 よろしくお願い申し上げます。

  • キーボード操作を教えてください

    こちらの質問投稿の時もそうなんですが 質問のタイトルを入力した後、キーボードの「Tabキー」を押すと 質問の本文の入力欄にカーソルが移動します。 私が知りたいのは、この逆のやり方はあるのかどうか。です。 本文にカーソルがある状態で、キーボードのどのキーを押すと タイトルにカーソルが移動するのか知りたいです。 それとも戻るキーはないのでしょうか? ご教示よろしくお願いいたします。 PCはwindows XPです。 もしこれがわかったら、何か入力してる時にあまりマウスを使わなくても いいような、ちょっと便利かな と思いました。

専門家に質問してみよう