HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0117
omameboyマウス操作の監視5解決


omameboy

リンク

2015/1/17(Sat) 13:39:35|NO.66982

デスクトップの何もないところをダブルクリックしたら
一定時間時計が表示されるプログラムを作ろうとしています。
バックグラウンドで常にマウスの操作を監視するためには
どうしたらよいでしょうか?また、他にも良い方法があったら
教えてください。



この記事に返信する


 

リンク

2015/1/17(Sat) 16:23:11|NO.66983

キー入力を検出するといえばgetkeyですね。
hsp以外のウィンドウに対しての操作も検出できます。



omameboy

リンク

2015/1/17(Sat) 20:29:01|NO.66984

ありがとうございます。
HSPのウインドウ以外でも検知して、ダブルクリック時に処理ができるようになりました。
しかし、クリックした先が何もないところなのか、アイコンなのか、ウインドウ内なのかが判定が出来ないので、
何もないところ以外でも反応してしまいます。
クリックした先の情報を取得する方法はないでしょうか?



Him

リンク

2015/1/19(Mon) 00:34:30|NO.66996

こういうのがあるようです
http://azumaya.s101.xrea.com/wiki/index.php?%B3%D0%BD%F1%2FC%A2%F4%2F%A5%C7%A5%B9%A5%AF%A5%C8%A5%C3%A5%D7%A4%CE%B2%BF%A4%E2%A4%CA%A4%A4%BE%EC%BD%EA%A4%C7%A4%CE%A5%C0%A5%D6%A5%EB%A5%AF%A5%EA%A5%C3%A5%AF%A4%F2%BC%E8%C6%C0

デスクトップかどうかの判別法はこちらにもありました。
http://www.geocities.jp/fjtkt/index.html

#include "hscallbk.as" //コールバック関数実装プラグイン //http://chokuto.ifdef.jp/index.html #uselib "" #func MouseProc "" int, int, int #uselib "user32" #func SetWindowsHookEx "SetWindowsHookExA" int,sptr,int,int #func CallNextHookEx "CallNextHookEx" int,int,int,int #func GetCursorPos "GetCursorPos" sptr #cfunc WindowFromPoint "WindowFromPoint" sptr,sptr #cfunc GetAncestor "GetAncestor" sptr,sptr #func GetClassName "GetClassNameA" sptr,sptr,sptr #func CharUpper "CharUpperA" sptr #define WH_MOUSE_LL 0x000E #define WM_LBUTTONDOWN 0x0201 setcallbk LowLevelMouseProc, MouseProc, *HookedMouseProc SetWindowsHookEx WH_MOUSE_LL, varptr(LowLevelMouseProc), hinstance, 0 hHookMouse = stat stop *HookedMouseProc nCode = callbkarg(0) wPrm = callbkarg(1) lPrm = callbkarg(2) if nCode < 0 { CallNextHookEx hHookMouse, nCode, wPrm, lPrm return stat } if nCode == 0 { switch wPrm case WM_LBUTTONDOWN dim LPoint, 2 GetCursorPos varptr(LPoint) LHandle = GetAncestor(WindowFromPoint(LPoint(0), LPoint(1)), 2) sdim LClassName GetClassName LHandle, varptr(LClassName), 64 CharUpper varptr(LClassName) if LClassName == "PROGMAN" { dialog "デスクトップです" } swbreak swbreak default swend } CallNextHookEx hHookMouse, nCode, wPrm, lPrm return stat



ommiatmuekbiodyesu

リンク

2015/1/23(Fri) 21:51:54|NO.67053

#include "hscallbk.as"
setcallbk LowLevelMouseProc, MouseProc, *HookedMouseProc
が認識されません。



omameboy

リンク

2015/1/26(Mon) 21:11:22|NO.67105

スクリプトまで書いて頂き
ありがとうございます。
返信遅くなってすいません。
おかげでクリックした場所の
判別をすることができるよう
になりました。
教えてもらった「クリック先がアイコンかどうか
を判別する」プログラムがC言語なので
それをDLLにしてHSPで使えるように
したいと思います。



ONION software Copyright 1997-2021(c) All rights reserved.