BCB Client

- C++ Builderを用いたWindowsプログラミングメモ -

mouse_event [マウスカーソルの移動とクリック]

マウスカーソルの移動とクリックをエミュレーションさせてみる。
フォーム上のボタンを押すと、
左下のスタートボタン付近にカーソルが移動後、クリックするコード

・FormにButtonコンポーネントを配置してから。

<Unit1.cpp>
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
 : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	// まずはスタートボタンの上付近に移動
	mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 400, 64900, 0, NULL);
	// 左クリックしてみる
	mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, NULL);
	mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, NULL);
}
//---------------------------------------------------------------------------

・参考
VOID mouse_event(
  DWORD dwFlags,         // 移動とクリックのオプション
  DWORD dx,              // 水平位置または移動量
  DWORD dy,              // 垂直位置または移動量
  DWORD dwData,          // ホイールの移動
  ULONG_PTR dwExtraInfo  // アプリケーション定義の情報
);

dwFlags
MOUSEEVENTF_ABSOLUTE    dx と dy の各パラメータは 0〜65,535 の範囲で
                        正規化された絶対座標。指定無しは相対座標
                        左上(0,0) - 右下(65535,65535)
MOUSEEVENTF_MOVE        マウスが移動したことを示します。
MOUSEEVENTF_LEFTDOWN    左ボタンが押されたことを示します。
MOUSEEVENTF_LEFTUP      左ボタンが離されたことを示します。
MOUSEEVENTF_RIGHTDOWN   右ボタンが押されたことを示します。
MOUSEEVENTF_RIGHTUP     右ボタンが離されたことを示します。
MOUSEEVENTF_MIDDLEDOWN  中央ボタンが押されたことを示します。
MOUSEEVENTF_MIDDLEUP    中央ボタンが離されたことを示します。
MOUSEEVENTF_WHEEL       移動量は、dwData パラメータで指定します。

dwData
MOUSEEVENTF_WHEELを指定した場合の移動量
120が前方、-120で後方回転

[ トップ | 一覧 | 前へ | 次へ ]

  • トップ
  • 一覧
  • リンク
  • 掲示板

Copyright © BCB Client. All Rights Reserved. Template by ネットマニア