| ■No73668 (魔界の仮面弁士 さん) に返信 > ■No73664 (xlink さん) に返信 > >> 何のために、その機能を実現しようとしているかを説明してみては如何でしょうか。 > >> カーソル位置を移動するプログラムというのは「手段」に過ぎず、「目的」では無いですよね。 >>ボタンを押すとサイト(ゲームでした)のボタンを左クリックするためにです。 > それも目的ではなく「手段」ですよね。 > そもそも何のために、その操作が必要なのでしょうか? 最近買ったオフゲーでつりをプログラムで自動操作させてレベルアップさせるためです。 これが目的になります。 なげる→つる→押す→とじるの繰り返しの動作です > > > (1)「ボタンを左クリック」しなければならないのは何故か? > ・「画像」にマウスカーソルを移動することと、「サイト(ゲーム)のボタンを左クリック」することの関係性は? > ・ボタン押下時に行われる処理を呼び出す方法は、ボタンクリック以外に存在しないのか? つりをプログラムで自動操作させてレベルアップさせるためです。 移動させないとゲームのボタンを左クリックできないのではと判断しまして。 > > > (2)ボタンクリック相当の処理を実行するために、マウスカーソルの移動は本当に必要なのか? > ・HTML DOM の submit メソッドや click メソッドは使えないのか? > ・IAccessible インターフェイスの DoDefaultAction メソッドは? > ・HTML コンテンツではなく、OS 標準のボタンだとしたら、座標に関係なく直接 PostMessage できないか? > http://www.ne.jp/asahi/hishidama/home/tech/vcpp/clickdlg.html マウスカーソルの移動がないとおすボタンはflashなので指定された画像にマウスカーソルを移動させ、クリックするという理由です。この方法で大丈夫です。 > > > > >>認識した画像の座標を調べ、それをカーソルに指定するようにしてみてください。 >>すみません。ここがわかりません。 > 「検知のほうはわけあって大丈夫」だったのでは…? ここでいう検知というのはマウスカーソルの移動の確認だと解釈していたのですが違いますか? > > >>mouse_move(x,y)をつかうんですかね。。 > mouse_move とやらを選択した理由が分からないので、なんとも判断しかねます。 これは座標でマウスカーソルを移動させるんですが、これを画像指定でマウスカーソルを移動させることはできないのかと疑問に思いまして。。 > > >>りません。コードを掲示お願いいたします。ここがわかれば一件落着です。 > いや、検知方法すら分からない画像の座標を調べろと言われても困るというか…。(^^; > > 内容次第では、動作検証用のサンプル程度のものであれば提供できるかも知れませんが、 > 元アプリの仕様がほとんど明かされていない現状では、内容が一切分かりません。 > あまりにも情報不足で、協力しようにも、そもそもコードを提示しようが無かったりします。 > > なお、たとえ仕様が明かされたとしても、それが技術的な「質問」の体裁ではなく、 > 「作成依頼」として行われるのだとしたら、とりあえずお断りしておきます。 わからないところを援助させているつもりです。 > > > >>> 指定された画像の位置はいつも変動するので座標は無理なのでは。やってみます。 > >> 変動した後の座標を随時指定させましょう。 >>よくわかりません。こちらも例のコードを掲示お願いいたします。 > 画像の検知はどのようにして行われているのでしょうか? あらかじめリソースになげる.bmpを埋めこめさせて Dim bmp As New Bitmap(Me.GetType(), "なげる.bmp") このようにしましたがbutton 1を押すと リソース 'つる.bmp' がクラス 'WindowsApplication1.Form1' に見つかりません。 とエラーがでました。 そもそもこのような検知でいけるのでしょうか。 > > >>問題ないです。マウスポインタはとられたくないようにしたいので。 > 画像のオブジェクトにすら、マウス操作を検知させたくないのだとしたら、 > そもそも何のために、カーソルを移動させようとしているのでしょうか? なげるぼたんを左クリックさせるためです。 > > >>さっきデバックしてためしに実行しましたが完璧です。 > 特定の座標に移動し、ただ戻るだけならば、 > xy = Cursor.Position > Cursor.Position = 移動先の座標 > Cursor.Position = xy > となりますので、For ループも不要ですね。 |