マウス操作関数群定義ファイル

2016-07-08 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「Firefox」6位ダウンも復帰。「Perl」「化学業界」「硝子業界」「FM COCOLO」、
「e-radio」「グルコサミン」「Python」bg値変動。「C言語」「FM青森」変化無し。
・-・ - -・

さて、本文。

先月(2016-06-19)の記事「マウス・カーソルの制御」で、

  某氏の MouseControll 相当品:mouseX.gsl

をコーディングした。

この中の関数群

マウス座標を設定する関数:SetMouseXY( x, y )
マウス座標を取得する関数:GetMouseXY()
クリック動作エミュレート関数:LeftClick()

更には、右クリック、中クリック、も追加し、

1つのファイルにまとめてみた。


これを、“.gsl”プログラムから呼び出す。

このとき、モジュールとして
require で呼び出すのではなく、
dofile でやってみた。


それで、フルパス名で指定するのだが、
ファイルの拡張子は、何でもイイよう。

そこで、
ファイル名を“mouse_fn.txt”とした:
----- mouse_fn.txt -----
voidA = |x| ffi.cast('void*',x)
ffi.cdef[[
typedef unsigned int DWord;
typedef struct tagPOINT{ int x; int y; } POINT, *LPPOINT;
void Sleep( int MilliSeconds );
void SetCursorPos( int X, int Y ); // 水平位置、垂直位置
void GetCursorPos( LPPOINT lpPoint ); // カーソル位置
void mouse_event(
DWord dwFlags, // 移動とクリックのオプション
DWord dx, // 水平位置または移動量
DWord dy, // 垂直位置または移動量
DWord dwData, // ホイールの移動
int dwExtraInfo // アプリケーション定義の情報
);
]]
function SetMouseXY( x, y ) -- マウス座標を設定
ffi.C.SetCursorPos( x, y )
end
function GetMouseXY() -- マウス座標を取得
local pos = ffi.new('int[2]')
ffi.C.GetCursorPos( voidA(pos) )
return pos[0], pos[1]
end
function LeftClick() -- 左クリック
ffi.C.mouse_event( 0x02, 0, 0, 0, 0 ) -- MOUSEEVENTF_LEFTDOWN
ffi.C.Sleep(10)
ffi.C.mouse_event( 0x04, 0, 0, 0, 0 ) -- MOUSEEVENTF_LEFTUP
end
function RightClick() -- 右クリック
ffi.C.mouse_event( 0x08, 0, 0, 0, 0 ) -- MOUSEEVENTF_RIGHTDOWN
ffi.C.Sleep(10)
ffi.C.mouse_event( 0x10, 0, 0, 0, 0 ) -- MOUSEEVENTF_RIGHTUP
end
function MiddleClick() -- 中クリック
ffi.C.mouse_event( 0x20, 0, 0, 0, 0 ) -- MOUSEEVENTF_MIDDLEDOWN
ffi.C.Sleep(10)
ffi.C.mouse_event( 0x40, 0, 0, 0, 0 ) -- MOUSEEVENTF_MIDDLEUP
end
と云うことでしょうか。

これを使ったテスト・メイン“test_mouse_fn.gsl”:
----- test_mouse_fn.gsl -----
dofile('mouse_fn.txt') -- 同じ処に置いておく

print( GetMouseXY() )
SetMouseXY( 20, 200 )
RightClick()
で使えるようダ。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160516
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク